
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

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

{
  debug_field field;
  demangle_component *dc_00;
  size_t sVar1;
  byte *__s1;
  debug_field *ppdVar2;
  debug_type pdVar3;
  debug_type_conflict *handle;
  debug_type_conflict pdVar4;
  char *pcVar5;
  int iVar6;
  debug_type_conflict *arg_types;
  debug_type_conflict type;
  byte *pbVar7;
  byte *pbVar9;
  bool bVar11;
  bool bVar12;
  bool bVar13;
  byte bVar14;
  stab_handle *in_stack_ffffffb8;
  uint uVar15;
  demangle_component *in_stack_ffffffbc;
  demangle_component_type dVar16;
  bfd_boolean unsignedp;
  bfd_boolean *in_stack_ffffffc0;
  size_t alc;
  undefined4 uStack_14;
  byte *pbVar8;
  byte *pbVar10;
  
  bVar14 = 0;
  uStack_14 = 0x214bd;
  if (pvarargs != (bfd_boolean *)0x0) {
    *pvarargs = 0;
  }
  dVar16 = dc->type;
  switch(dVar16) {
  case DEMANGLE_COMPONENT_NAME:
    if ((context != (debug_type)0x0) &&
       (ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (debug_field *)0x0)) {
      field = *ppdVar2;
      while (field != (debug_field)0x0) {
        pdVar4 = debug_get_field_type(dhandle,field);
        if (pdVar4 == (debug_type_conflict)0x0) {
          return (debug_type)0x0;
        }
        pcVar5 = debug_get_type_name(dhandle,pdVar4);
        if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&
           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {
          return pdVar4;
        }
        ppdVar2 = ppdVar2 + 1;
        field = *ppdVar2;
      }
    }
  case DEMANGLE_COMPONENT_SUB_STD:
    pdVar3 = stab_find_tagged_type
                       (dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,
                        DEBUG_KIND_ILLEGAL);
    return pdVar3;
  case DEMANGLE_COMPONENT_QUAL_NAME:
    pdVar3 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);
    if (pdVar3 == (debug_type)0x0) {
      return (debug_type)0x0;
    }
    pdVar3 = stab_demangle_v3_arg
                       (dhandle,info,(dc->u).s_extended_operator.name,pdVar3,(bfd_boolean *)0x0);
    return pdVar3;
  default:
    pcVar5 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);
    goto LAB_000219f7;
  case DEMANGLE_COMPONENT_TEMPLATE:
    pcVar5 = (char *)cplus_demangle_print(3,dc,0x14,&alc);
    if (pcVar5 != (char *)0x0) {
      sVar1 = strlen(pcVar5);
      pdVar3 = stab_find_tagged_type
                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS);
      free(pcVar5);
      return pdVar3;
    }
    pcVar5 = "Failed to print demangled template\n";
    break;
  case DEMANGLE_COMPONENT_RESTRICT:
  case DEMANGLE_COMPONENT_VOLATILE:
  case DEMANGLE_COMPONENT_CONST:
  case DEMANGLE_COMPONENT_POINTER:
  case DEMANGLE_COMPONENT_REFERENCE:
    pdVar3 = stab_demangle_v3_arg
                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);
    if (pdVar3 != (debug_type)0x0) {
      switch(dc->type) {
      case DEMANGLE_COMPONENT_RESTRICT:
        return pdVar3;
      case DEMANGLE_COMPONENT_VOLATILE:
        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);
        return pdVar4;
      case DEMANGLE_COMPONENT_CONST:
        pdVar4 = debug_make_const_type(dhandle,pdVar3);
        return pdVar4;
      default:
                    /* WARNING: Subroutine does not return */
        abort();
      case DEMANGLE_COMPONENT_POINTER:
        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);
        return pdVar4;
      case DEMANGLE_COMPONENT_REFERENCE:
        pdVar4 = debug_make_reference_type(dhandle,pdVar3);
        return pdVar4;
      }
    }
    return (debug_type)0x0;
  case DEMANGLE_COMPONENT_BUILTIN_TYPE:
    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);
    bVar11 = false;
    bVar13 = __s1 == (byte *)0x0;
    if (!bVar13) {
      iVar6 = 0xc;
      pbVar8 = __s1;
      pbVar10 = (byte *)0x33e24;
      do {
        if (iVar6 == 0) break;
        iVar6 = iVar6 + -1;
        bVar11 = *pbVar8 < *pbVar10;
        bVar13 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar13);
      bVar12 = false;
      bVar11 = (!bVar11 && !bVar13) == bVar11;
      if (bVar11) {
LAB_00021a18:
        unsignedp = 0;
        uVar15 = 1;
LAB_00021a23:
        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);
        goto LAB_00021a32;
      }
      iVar6 = 5;
      pbVar8 = __s1;
      pbVar10 = &DAT_00033f2e;
      do {
        if (iVar6 == 0) break;
        iVar6 = iVar6 + -1;
        bVar12 = *pbVar8 < *pbVar10;
        bVar11 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar11);
      bVar13 = false;
      bVar11 = (!bVar12 && !bVar11) == bVar12;
      if (bVar11) {
        pdVar4 = debug_make_bool_type(1);
        goto LAB_00021a32;
      }
      iVar6 = 5;
      pbVar8 = __s1;
      pbVar10 = (byte *)0x33e2b;
      do {
        if (iVar6 == 0) break;
        iVar6 = iVar6 + -1;
        bVar13 = *pbVar8 < *pbVar10;
        bVar11 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar11);
      bVar12 = false;
      bVar11 = (!bVar13 && !bVar11) == bVar13;
      if (bVar11) goto LAB_00021a18;
      iVar6 = 7;
      pbVar8 = __s1;
      pbVar10 = (byte *)0x33e66;
      do {
        if (iVar6 == 0) break;
        iVar6 = iVar6 + -1;
        bVar12 = *pbVar8 < *pbVar10;
        bVar11 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar11);
      bVar13 = false;
      bVar11 = (!bVar12 && !bVar11) == bVar12;
      if (bVar11) {
LAB_00021b08:
        uVar15 = 8;
      }
      else {
        iVar6 = 0xc;
        pbVar8 = __s1;
        pbVar10 = (byte *)"long double";
        do {
          if (iVar6 == 0) break;
          iVar6 = iVar6 + -1;
          bVar13 = *pbVar8 < *pbVar10;
          bVar11 = *pbVar8 == *pbVar10;
          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
        } while (bVar11);
        bVar12 = false;
        bVar11 = (!bVar13 && !bVar11) == bVar13;
        if (bVar11) goto LAB_00021b08;
        iVar6 = 6;
        pbVar8 = __s1;
        pbVar10 = (byte *)"float";
        do {
          if (iVar6 == 0) break;
          iVar6 = iVar6 + -1;
          bVar12 = *pbVar8 < *pbVar10;
          bVar11 = *pbVar8 == *pbVar10;
          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
        } while (bVar11);
        bVar13 = false;
        bVar11 = (!bVar12 && !bVar11) == bVar12;
        if (bVar11) {
          uVar15 = 4;
        }
        else {
          iVar6 = 0xb;
          pbVar8 = __s1;
          pbVar10 = (byte *)"__float128";
          do {
            if (iVar6 == 0) break;
            iVar6 = iVar6 + -1;
            bVar13 = *pbVar8 < *pbVar10;
            bVar11 = *pbVar8 == *pbVar10;
            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
          } while (bVar11);
          bVar12 = false;
          bVar11 = (!bVar13 && !bVar11) == bVar13;
          if (!bVar11) {
            iVar6 = 0xe;
            pbVar8 = __s1;
            pbVar10 = (byte *)"unsigned char";
            do {
              if (iVar6 == 0) break;
              iVar6 = iVar6 + -1;
              bVar12 = *pbVar8 < *pbVar10;
              bVar11 = *pbVar8 == *pbVar10;
              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
            } while (bVar11);
            bVar13 = false;
            bVar11 = (!bVar12 && !bVar11) == bVar12;
            if (bVar11) {
              unsignedp = 1;
              uVar15 = 1;
            }
            else {
              iVar6 = 4;
              pbVar8 = __s1;
              pbVar10 = (byte *)0x33f85;
              do {
                if (iVar6 == 0) break;
                iVar6 = iVar6 + -1;
                bVar13 = *pbVar8 < *pbVar10;
                bVar11 = *pbVar8 == *pbVar10;
                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
              } while (bVar11);
              bVar12 = false;
              bVar11 = (!bVar13 && !bVar11) == bVar13;
              if (bVar11) {
LAB_00021b5b:
                unsignedp = 0;
                uVar15 = 4;
              }
              else {
                iVar6 = 0xd;
                pbVar8 = __s1;
                pbVar10 = (byte *)0x33f7c;
                do {
                  if (iVar6 == 0) break;
                  iVar6 = iVar6 + -1;
                  bVar12 = *pbVar8 < *pbVar10;
                  bVar11 = *pbVar8 == *pbVar10;
                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
                } while (bVar11);
                bVar13 = false;
                bVar11 = (!bVar12 && !bVar11) == bVar12;
                if (!bVar11) {
                  iVar6 = 5;
                  pbVar8 = __s1;
                  pbVar10 = (byte *)0x33e51;
                  do {
                    if (iVar6 == 0) break;
                    iVar6 = iVar6 + -1;
                    bVar13 = *pbVar8 < *pbVar10;
                    bVar11 = *pbVar8 == *pbVar10;
                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
                  } while (bVar11);
                  bVar12 = false;
                  bVar11 = (!bVar13 && !bVar11) == bVar13;
                  if (bVar11) goto LAB_00021b5b;
                  iVar6 = 0xe;
                  pbVar8 = __s1;
                  pbVar10 = (byte *)"unsigned long";
                  do {
                    pbVar7 = pbVar8;
                    pbVar9 = pbVar10;
                    if (iVar6 == 0) break;
                    iVar6 = iVar6 + -1;
                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;
                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;
                    bVar12 = *pbVar8 < *pbVar10;
                    bVar11 = *pbVar8 == *pbVar10;
                    pbVar8 = pbVar7;
                    pbVar10 = pbVar9;
                  } while (bVar11);
                  if ((!bVar12 && !bVar11) != bVar12) {
                    iVar6 = strcmp((char *)__s1,"__int128");
                    if (iVar6 == 0) {
                      unsignedp = 0;
                      uVar15 = 0x10;
                    }
                    else {
                      iVar6 = strcmp((char *)__s1,"unsigned __int128");
                      if (iVar6 == 0) {
                        unsignedp = 1;
                        uVar15 = 0x10;
                      }
                      else {
                        iVar6 = strcmp((char *)__s1,"short");
                        if (iVar6 == 0) {
                          unsignedp = 0;
                          uVar15 = 2;
                        }
                        else {
                          iVar6 = strcmp((char *)__s1,"unsigned short");
                          if (iVar6 == 0) {
                            unsignedp = 1;
                            uVar15 = 2;
                          }
                          else {
                            iVar6 = strcmp((char *)__s1,"void");
                            if (iVar6 == 0) {
                              pdVar4 = debug_make_void_type();
                              goto LAB_00021a32;
                            }
                            iVar6 = strcmp((char *)__s1,"wchar_t");
                            if (iVar6 == 0) goto LAB_00021b6b;
                            iVar6 = strcmp((char *)__s1,"long long");
                            if (iVar6 == 0) {
                              unsignedp = 0;
                              uVar15 = 8;
                            }
                            else {
                              iVar6 = strcmp((char *)__s1,"unsigned long long");
                              if (iVar6 != 0) {
                                iVar6 = strcmp((char *)__s1,"...");
                                if (iVar6 == 0) {
                                  if (pvarargs != (bfd_boolean *)0x0) {
                                    pdVar4 = (debug_type_conflict)0x0;
                                    *pvarargs = 1;
                                    goto LAB_00021a32;
                                  }
                                  pcVar5 = "Unexpected demangled varargs\n";
                                  pbVar7 = pbVar9;
                                }
                                else {
                                  pcVar5 = "Unrecognized demangled builtin type\n";
                                }
                                pdVar4 = (debug_type_conflict)0x0;
                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);
                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);
                                goto LAB_00021a32;
                              }
                              unsignedp = 1;
                              uVar15 = 8;
                            }
                          }
                        }
                      }
                    }
                    goto LAB_00021a23;
                  }
                }
LAB_00021b6b:
                unsignedp = 1;
                uVar15 = 4;
              }
            }
            goto LAB_00021a23;
          }
          uVar15 = 0x10;
        }
      }
      pdVar4 = debug_make_float_type(uVar15);
LAB_00021a32:
      free(__s1);
      return pdVar4;
    }
    pcVar5 = "Couldn\'t get demangled builtin type\n";
    break;
  case DEMANGLE_COMPONENT_FUNCTION_TYPE:
    dc_00 = (dc->u).s_fixed.length;
    if (dc_00 == (demangle_component *)0x0) {
      pdVar3 = debug_make_void_type();
    }
    else {
      in_stack_ffffffb8 = (stab_handle *)0x0;
      pdVar3 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);
    }
    if (pdVar3 == (debug_type)0x0) {
      return (debug_type)0x0;
    }
    handle = stab_demangle_v3_arglist(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0);
    if (handle == (debug_type_conflict *)0x0) {
      return (debug_type)0x0;
    }
    pdVar4 = debug_make_function_type(handle,type,arg_types,(bfd_boolean)dhandle);
    return pdVar4;
  }
  dVar16 = DEMANGLE_COMPONENT_TEMPLATE_PARAM;
  pcVar5 = (char *)dcgettext(0,pcVar5,5);
LAB_000219f7:
  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5,dVar16);
  return (debug_type)0x0;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int __regparm3
FUN_000214b0(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,
            undefined4 *param_5)

{
  size_t sVar1;
  byte *__s1;
  byte *pbVar2;
  int *piVar3;
  int iVar4;
  int iVar5;
  char *pcVar6;
  byte *pbVar7;
  byte *pbVar9;
  bool bVar11;
  bool bVar12;
  bool bVar13;
  byte bVar14;
  undefined *puVar15;
  undefined4 uVar16;
  undefined4 uVar17;
  undefined4 auStack_20 [3];
  undefined4 uStack_14;
  byte *pbVar8;
  byte *pbVar10;
  
  bVar14 = 0;
  uStack_14 = 0x214bd;
  if (param_5 != (undefined4 *)0x0) {
    *param_5 = 0;
  }
  uVar16 = *param_3;
  switch(uVar16) {
  case 0:
    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {
      iVar4 = *piVar3;
      while (iVar4 != 0) {
        iVar4 = FUN_00020610(param_1,iVar4);
        if (iVar4 == 0) {
          return 0;
        }
        pcVar6 = (char *)FUN_00020440(param_1,iVar4);
        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&
           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {
          return iVar4;
        }
        piVar3 = piVar3 + 1;
        iVar4 = *piVar3;
      }
    }
  case 0x18:
    iVar4 = FUN_00021390(param_3[3],0);
    return iVar4;
  case 1:
    iVar4 = FUN_000214b0(param_4,0);
    if (iVar4 == 0) {
      return 0;
    }
    iVar4 = FUN_000214b0(iVar4,0);
    return iVar4;
  default:
    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);
    goto code_r0x000219f7;
  case 4:
    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);
    if (pcVar6 != (char *)0x0) {
      sVar1 = strlen(pcVar6);
      iVar4 = FUN_00021390(sVar1,9);
      free(pcVar6);
      return iVar4;
    }
    pcVar6 = "Failed to print demangled template\n";
    break;
  case 0x19:
  case 0x1a:
  case 0x1b:
  case 0x22:
  case 0x23:
    iVar4 = FUN_000214b0(0,0);
    if (iVar4 != 0) {
      switch(*param_3) {
      case 0x19:
        return iVar4;
      case 0x1a:
        iVar4 = FUN_0001fd20(param_1,iVar4);
        return iVar4;
      case 0x1b:
        iVar4 = FUN_0001fcf0(param_1,iVar4);
        return iVar4;
      default:
                    /* WARNING: Subroutine does not return */
        abort();
      case 0x22:
        iVar4 = FUN_0001f9b0(param_1,iVar4);
        return iVar4;
      case 0x23:
        iVar4 = FUN_0001fa60(param_1,iVar4);
        return iVar4;
      }
    }
    return 0;
  case 0x27:
    pbVar2 = (byte *)auStack_20;
    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);
    bVar11 = false;
    bVar13 = __s1 == (byte *)0x0;
    if (!bVar13) {
      iVar4 = 0xc;
      pbVar8 = __s1;
      pbVar10 = (byte *)0x33e24;
      do {
        if (iVar4 == 0) break;
        iVar4 = iVar4 + -1;
        bVar11 = *pbVar8 < *pbVar10;
        bVar13 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar13);
      bVar12 = false;
      bVar11 = (!bVar11 && !bVar13) == bVar11;
      if (bVar11) {
code_r0x00021a18:
        uVar17 = 0;
        uVar16 = 1;
code_r0x00021a23:
        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);
        goto code_r0x00021a32;
      }
      iVar4 = 5;
      pbVar8 = __s1;
      pbVar10 = &UNK_00033f2e;
      do {
        if (iVar4 == 0) break;
        iVar4 = iVar4 + -1;
        bVar12 = *pbVar8 < *pbVar10;
        bVar11 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar11);
      bVar13 = false;
      bVar11 = (!bVar12 && !bVar11) == bVar12;
      if (bVar11) {
        iVar4 = FUN_0001f850(param_1,1);
        goto code_r0x00021a32;
      }
      iVar4 = 5;
      pbVar8 = __s1;
      pbVar10 = (byte *)0x33e2b;
      do {
        if (iVar4 == 0) break;
        iVar4 = iVar4 + -1;
        bVar13 = *pbVar8 < *pbVar10;
        bVar11 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar11);
      bVar12 = false;
      bVar11 = (!bVar13 && !bVar11) == bVar13;
      if (bVar11) goto code_r0x00021a18;
      iVar4 = 7;
      pbVar8 = __s1;
      pbVar10 = (byte *)0x33e66;
      do {
        if (iVar4 == 0) break;
        iVar4 = iVar4 + -1;
        bVar12 = *pbVar8 < *pbVar10;
        bVar11 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar11);
      bVar13 = false;
      bVar11 = (!bVar12 && !bVar11) == bVar12;
      if (bVar11) {
code_r0x00021b08:
        uVar16 = 8;
      }
      else {
        iVar4 = 0xc;
        pbVar8 = __s1;
        pbVar10 = (byte *)"long double";
        do {
          if (iVar4 == 0) break;
          iVar4 = iVar4 + -1;
          bVar13 = *pbVar8 < *pbVar10;
          bVar11 = *pbVar8 == *pbVar10;
          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
        } while (bVar11);
        bVar12 = false;
        bVar11 = (!bVar13 && !bVar11) == bVar13;
        if (bVar11) goto code_r0x00021b08;
        iVar4 = 6;
        pbVar8 = __s1;
        pbVar10 = (byte *)"float";
        do {
          if (iVar4 == 0) break;
          iVar4 = iVar4 + -1;
          bVar12 = *pbVar8 < *pbVar10;
          bVar11 = *pbVar8 == *pbVar10;
          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
        } while (bVar11);
        bVar13 = false;
        bVar11 = (!bVar12 && !bVar11) == bVar12;
        if (bVar11) {
          uVar16 = 4;
        }
        else {
          iVar4 = 0xb;
          pbVar8 = __s1;
          pbVar10 = (byte *)"__float128";
          do {
            if (iVar4 == 0) break;
            iVar4 = iVar4 + -1;
            bVar13 = *pbVar8 < *pbVar10;
            bVar11 = *pbVar8 == *pbVar10;
            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
          } while (bVar11);
          bVar12 = false;
          bVar11 = (!bVar13 && !bVar11) == bVar13;
          if (!bVar11) {
            iVar4 = 0xe;
            pbVar8 = __s1;
            pbVar10 = (byte *)"unsigned char";
            do {
              if (iVar4 == 0) break;
              iVar4 = iVar4 + -1;
              bVar12 = *pbVar8 < *pbVar10;
              bVar11 = *pbVar8 == *pbVar10;
              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
            } while (bVar11);
            bVar13 = false;
            bVar11 = (!bVar12 && !bVar11) == bVar12;
            if (bVar11) {
              uVar17 = 1;
              uVar16 = 1;
            }
            else {
              iVar4 = 4;
              pbVar8 = __s1;
              pbVar10 = (byte *)0x33f85;
              do {
                if (iVar4 == 0) break;
                iVar4 = iVar4 + -1;
                bVar13 = *pbVar8 < *pbVar10;
                bVar11 = *pbVar8 == *pbVar10;
                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
              } while (bVar11);
              bVar12 = false;
              bVar11 = (!bVar13 && !bVar11) == bVar13;
              if (bVar11) {
code_r0x00021b5b:
                uVar17 = 0;
                uVar16 = 4;
              }
              else {
                iVar4 = 0xd;
                pbVar8 = __s1;
                pbVar10 = (byte *)0x33f7c;
                do {
                  if (iVar4 == 0) break;
                  iVar4 = iVar4 + -1;
                  bVar12 = *pbVar8 < *pbVar10;
                  bVar11 = *pbVar8 == *pbVar10;
                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
                } while (bVar11);
                bVar13 = false;
                bVar11 = (!bVar12 && !bVar11) == bVar12;
                if (!bVar11) {
                  iVar4 = 5;
                  pbVar8 = __s1;
                  pbVar10 = (byte *)0x33e51;
                  do {
                    if (iVar4 == 0) break;
                    iVar4 = iVar4 + -1;
                    bVar13 = *pbVar8 < *pbVar10;
                    bVar11 = *pbVar8 == *pbVar10;
                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
                  } while (bVar11);
                  bVar12 = false;
                  bVar11 = (!bVar13 && !bVar11) == bVar13;
                  if (bVar11) goto code_r0x00021b5b;
                  iVar4 = 0xe;
                  pbVar8 = __s1;
                  pbVar10 = (byte *)"unsigned long";
                  do {
                    pbVar7 = pbVar8;
                    pbVar9 = pbVar10;
                    if (iVar4 == 0) break;
                    iVar4 = iVar4 + -1;
                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;
                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;
                    bVar12 = *pbVar8 < *pbVar10;
                    bVar11 = *pbVar8 == *pbVar10;
                    pbVar8 = pbVar7;
                    pbVar10 = pbVar9;
                  } while (bVar11);
                  if ((!bVar12 && !bVar11) != bVar12) {
                    iVar4 = strcmp((char *)__s1,"__int128");
                    if (iVar4 == 0) {
                      uVar17 = 0;
                      uVar16 = 0x10;
                      pbVar2 = (byte *)0x0;
                    }
                    else {
                      iVar4 = strcmp((char *)__s1,"unsigned __int128");
                      if (iVar4 == 0) {
                        uVar17 = 1;
                        uVar16 = 0x10;
                        pbVar2 = (byte *)0x0;
                      }
                      else {
                        iVar4 = strcmp((char *)__s1,"short");
                        if (iVar4 == 0) {
                          uVar17 = 0;
                          uVar16 = 2;
                          pbVar2 = pbVar7;
                        }
                        else {
                          iVar4 = strcmp((char *)__s1,"unsigned short");
                          if (iVar4 == 0) {
                            uVar17 = 1;
                            uVar16 = 2;
                            pbVar2 = __s1;
                          }
                          else {
                            puVar15 = &UNK_00033e56;
                            iVar5 = iVar4;
                            pbVar2 = (byte *)strcmp((char *)__s1,"void");
                            if (pbVar2 == (byte *)0x0) {
                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);
                              goto code_r0x00021a32;
                            }
                            iVar4 = strcmp((char *)__s1,"wchar_t");
                            if (iVar4 == 0) goto code_r0x00021b6b;
                            iVar4 = strcmp((char *)__s1,"long long");
                            if (iVar4 == 0) {
                              uVar17 = 0;
                              uVar16 = 8;
                              pbVar2 = (byte *)0x0;
                            }
                            else {
                              iVar4 = strcmp((char *)__s1,"unsigned long long");
                              if (iVar4 != 0) {
                                iVar4 = strcmp((char *)__s1,"...");
                                if (iVar4 == 0) {
                                  if (param_5 != (undefined4 *)0x0) {
                                    iVar4 = 0;
                                    *param_5 = 1;
                                    goto code_r0x00021a32;
                                  }
                                  pcVar6 = "Unexpected demangled varargs\n";
                                  pbVar7 = pbVar9;
                                }
                                else {
                                  pcVar6 = "Unrecognized demangled builtin type\n";
                                }
                                iVar4 = 0;
                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);
                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);
                                goto code_r0x00021a32;
                              }
                              uVar17 = 1;
                              uVar16 = 8;
                              pbVar2 = (byte *)0x0;
                            }
                          }
                        }
                      }
                    }
                    goto code_r0x00021a23;
                  }
                }
code_r0x00021b6b:
                uVar17 = 1;
                uVar16 = 4;
              }
            }
            goto code_r0x00021a23;
          }
          uVar16 = 0x10;
        }
      }
      iVar4 = FUN_0001f840(param_1,uVar16);
code_r0x00021a32:
      free(__s1);
      return iVar4;
    }
    pcVar6 = "Couldn\'t get demangled builtin type\n";
    break;
  case 0x29:
    if (param_3[2] == 0) {
      iVar4 = FUN_0001f810(param_1);
    }
    else {
      iVar4 = FUN_000214b0(0,0);
    }
    if (iVar4 == 0) {
      return 0;
    }
    iVar5 = FUN_00021c10(auStack_20);
    if (iVar5 == 0) {
      return 0;
    }
    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);
    return iVar4;
  }
  uVar16 = 5;
  pcVar6 = (char *)dcgettext(0,pcVar6,5);
code_r0x000219f7:
  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);
  return 0;
}


PUSH EBP
MOV EBP,EAX
PUSH EDI
PUSH ESI
MOV ESI,ECX
PUSH EBX
CALL 0x000166c0
ADD EBX,0x1eb43
SUB ESP,0x2c
MOV EDI,dword ptr [ESP + 0x44]
MOV dword ptr [ESP + 0x4],EDX
TEST EDI,EDI
JZ 0x000214dc
MOV EAX,dword ptr [ESP + 0x44]
MOV dword ptr [EAX],0x0
MOV EDI,dword ptr [ESI]
CMP EDI,0x29
JA 0x000219e0
MOV EAX,dword ptr [EBX + EDI*0x4 + 0xffff4420]
ADD EAX,EBX
JMP EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xffff41c0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0xc
PUSH EDI
PUSH EAX
MOV EAX,dword ptr [EBX + 0xffffffa8]
PUSH dword ptr [EAX]
CALL 0x00013520
ADD ESP,0x10
ADD ESP,0x2c
XOR EDI,EDI
POP EBX
MOV EAX,EDI
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3\nFUN_000214b0(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,\n            undefined4 *param_5)\n\n{\n  size_t sVar1;\n  byte *__s1;\n  byte *pbVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar9;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  undefined *puVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 auStack_20 [3];\n  undefined4 uStack_14;\n  byte *pbVar8;\n  byte *pbVar10;\n  \n  bVar14 = 0;\n  uStack_14 = 0x214bd;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar16 = *param_3;\n  switch(uVar16) {\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }\n  uVar16 = 5;\n  pcVar6 = (char *)dcgettext(0,pcVar6,5);\ncode_r0x000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);\n  return 0;\n}\n\n" comment (function_definition "int __regparm3\nFUN_000214b0(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,\n            undefined4 *param_5)\n\n{\n  size_t sVar1;\n  byte *__s1;\n  byte *pbVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar9;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  undefined *puVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 auStack_20 [3];\n  undefined4 uStack_14;\n  byte *pbVar8;\n  byte *pbVar10;\n  \n  bVar14 = 0;\n  uStack_14 = 0x214bd;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar16 = *param_3;\n  switch(uVar16) {\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }\n  uVar16 = 5;\n  pcVar6 = (char *)dcgettext(0,pcVar6,5);\ncode_r0x000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);\n  return 0;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000214b0(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,\n            undefined4 *param_5)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,\n            undefined4 *param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  size_t sVar1;\n  byte *__s1;\n  byte *pbVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar9;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  undefined *puVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 auStack_20 [3];\n  undefined4 uStack_14;\n  byte *pbVar8;\n  byte *pbVar10;\n  \n  bVar14 = 0;\n  uStack_14 = 0x214bd;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar16 = *param_3;\n  switch(uVar16) {\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }\n  uVar16 = 5;\n  pcVar6 = (char *)dcgettext(0,pcVar6,5);\ncode_r0x000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);\n  return 0;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "byte *__s1;" type_identifier (pointer_declarator "*__s1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * 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 "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "undefined4 auStack_20 [3];" type_identifier (array_declarator "auStack_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x214bd;" (assignment_expression "uStack_14 = 0x214bd" 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 "uVar16 = *param_3;" (assignment_expression "uVar16 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (switch_statement "switch(uVar16) {\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }" switch (parenthesized_expression "(uVar16)" ( identifier )) (compound_statement "{\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }" { (case_statement "case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }" case number_literal : (if_statement "if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }" if (parenthesized_expression "((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0))" ( (binary_expression "(param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)" (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) && (parenthesized_expression "(piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)" ( (comma_expression "piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0" (assignment_expression "piVar3 = (int *)FUN_000205d0(param_1,param_4)" identifier = (cast_expression "(int *)FUN_000205d0(param_1,param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000205d0(param_1,param_4)" identifier (argument_list "(param_1,param_4)" ( identifier , identifier ))))) , (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }" { (expression_statement "iVar4 = *piVar3;" (assignment_expression "iVar4 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (while_statement "while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }" while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }" { (expression_statement "iVar4 = FUN_00020610(param_1,iVar4);" (assignment_expression "iVar4 = FUN_00020610(param_1,iVar4)" identifier = (call_expression "FUN_00020610(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar6 = (char *)FUN_00020440(param_1,iVar4);" (assignment_expression "pcVar6 = (char *)FUN_00020440(param_1,iVar4)" identifier = (cast_expression "(char *)FUN_00020440(param_1,iVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00020440(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier ))))) ;) (if_statement "if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }" if (parenthesized_expression "(((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0))" ( (binary_expression "((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)" (parenthesized_expression "((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3]))" ( (binary_expression "(pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])" (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(sVar1 = strlen(pcVar6), sVar1 == param_3[3])" ( (comma_expression "sVar1 = strlen(pcVar6), sVar1 == param_3[3]" (assignment_expression "sVar1 = strlen(pcVar6)" identifier = (call_expression "strlen(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) , (binary_expression "sVar1 == param_3[3]" identifier == (subscript_expression "param_3[3]" identifier [ number_literal ]))) ))) )) && (parenthesized_expression "(iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)" ( (comma_expression "iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0" (assignment_expression "iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1)" identifier = (call_expression "strncmp(pcVar6,(char *)param_3[2],sVar1)" identifier (argument_list "(pcVar6,(char *)param_3[2],sVar1)" ( identifier , (cast_expression "(char *)param_3[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[2]" identifier [ number_literal ])) , identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          return iVar4;\n        }" { (return_statement "return iVar4;" return identifier ;) })) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = *piVar3;" (assignment_expression "iVar4 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) })) }))) (case_statement "case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_00021390(param_3[3],0);" (assignment_expression "iVar4 = FUN_00021390(param_3[3],0)" identifier = (call_expression "FUN_00021390(param_3[3],0)" identifier (argument_list "(param_3[3],0)" ( (subscript_expression "param_3[3]" identifier [ number_literal ]) , number_literal )))) ;) (return_statement "return iVar4;" return identifier ;)) (case_statement "case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_000214b0(param_4,0);" (assignment_expression "iVar4 = FUN_000214b0(param_4,0)" identifier = (call_expression "FUN_000214b0(param_4,0)" identifier (argument_list "(param_4,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar4 = FUN_000214b0(iVar4,0);" (assignment_expression "iVar4 = FUN_000214b0(iVar4,0)" identifier = (call_expression "FUN_000214b0(iVar4,0)" identifier (argument_list "(iVar4,0)" ( identifier , number_literal )))) ;) (return_statement "return iVar4;" return identifier ;)) (case_statement "default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;" default : (expression_statement "pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);" (assignment_expression "pcVar6 = (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 ))))) ;) (goto_statement "goto code_r0x000219f7;" goto statement_identifier ;)) (case_statement "case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;" case number_literal : (expression_statement "pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);" (assignment_expression "pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20)" identifier = (cast_expression "(char *)func_0x00013040(3,param_3,0x14,auStack_20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "func_0x00013040(3,param_3,0x14,auStack_20)" identifier (argument_list "(3,param_3,0x14,auStack_20)" ( number_literal , identifier , number_literal , identifier ))))) ;) (if_statement "if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }" { (expression_statement "sVar1 = strlen(pcVar6);" (assignment_expression "sVar1 = strlen(pcVar6)" identifier = (call_expression "strlen(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) ;) (expression_statement "iVar4 = FUN_00021390(sVar1,9);" (assignment_expression "iVar4 = FUN_00021390(sVar1,9)" identifier = (call_expression "FUN_00021390(sVar1,9)" identifier (argument_list "(sVar1,9)" ( identifier , number_literal )))) ;) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (return_statement "return iVar4;" return identifier ;) })) (expression_statement "pcVar6 = "Failed to print demangled template\n";" (assignment_expression "pcVar6 = "Failed to print demangled template\n"" identifier = (string_literal ""Failed to print demangled template\n"" " string_content escape_sequence ")) ;) (break_statement "break;" break ;)) (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    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;" case number_literal : (expression_statement "iVar4 = FUN_000214b0(0,0);" (assignment_expression "iVar4 = FUN_000214b0(0,0)" identifier = (call_expression "FUN_000214b0(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }" { (switch_statement "switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }" switch (parenthesized_expression "(*param_3)" ( (pointer_expression "*param_3" * identifier) )) (compound_statement "{\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }" { (case_statement "case 0x19:\n        return iVar4;" case number_literal : (return_statement "return iVar4;" return identifier ;)) (case_statement "case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_0001fd20(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001fd20(param_1,iVar4)" identifier = (call_expression "FUN_0001fd20(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier )))) ;) (return_statement "return iVar4;" return identifier ;)) (case_statement "case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_0001fcf0(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001fcf0(param_1,iVar4)" identifier = (call_expression "FUN_0001fcf0(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier )))) ;) (return_statement "return iVar4;" 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        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_0001f9b0(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001f9b0(param_1,iVar4)" identifier = (call_expression "FUN_0001f9b0(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier )))) ;) (return_statement "return iVar4;" return identifier ;)) (case_statement "case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_0001fa60(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001fa60(param_1,iVar4)" identifier = (call_expression "FUN_0001fa60(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier )))) ;) (return_statement "return iVar4;" return identifier ;)) })) })) (return_statement "return 0;" return number_literal ;)) (case_statement "case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;" case number_literal : (expression_statement "pbVar2 = (byte *)auStack_20;" (assignment_expression "pbVar2 = (byte *)auStack_20" identifier = (cast_expression "(byte *)auStack_20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "__s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);" (assignment_expression "__s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2)" identifier = (cast_expression "(byte *)func_0x00013040(3,param_3,0x14,pbVar2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "func_0x00013040(3,param_3,0x14,pbVar2)" identifier (argument_list "(3,param_3,0x14,pbVar2)" ( number_literal , identifier , number_literal , identifier ))))) ;) (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      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }" { (expression_statement "iVar4 = 0xc;" (assignment_expression "iVar4 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e24;" (assignment_expression "pbVar10 = (byte *)0x33e24" identifier = (cast_expression "(byte *)0x33e24" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);" do (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar10;" (assignment_expression "bVar11 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar8 == *pbVar10;" (assignment_expression "bVar13 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }" { (labeled_statement "code_r0x00021a18:\n        uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;) (labeled_statement "code_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);" statement_identifier : (expression_statement "iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);" (assignment_expression "iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2)" identifier = (call_expression "FUN_0001f820(param_1,uVar16,uVar17,pbVar2)" identifier (argument_list "(param_1,uVar16,uVar17,pbVar2)" ( identifier , identifier , identifier , identifier )))) ;)) (goto_statement "goto code_r0x00021a32;" goto statement_identifier ;) })) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = &UNK_00033f2e;" (assignment_expression "pbVar10 = &UNK_00033f2e" identifier = (pointer_expression "&UNK_00033f2e" & identifier)) ;) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" do (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }" { (expression_statement "iVar4 = FUN_0001f850(param_1,1);" (assignment_expression "iVar4 = FUN_0001f850(param_1,1)" identifier = (call_expression "FUN_0001f850(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal )))) ;) (goto_statement "goto code_r0x00021a32;" goto statement_identifier ;) })) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e2b;" (assignment_expression "pbVar10 = (byte *)0x33e2b" identifier = (cast_expression "(byte *)0x33e2b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" do (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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 code_r0x00021a18;" if (parenthesized_expression "(bVar11)" ( identifier )) (goto_statement "goto code_r0x00021a18;" goto statement_identifier ;)) (expression_statement "iVar4 = 7;" (assignment_expression "iVar4 = 7" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e66;" (assignment_expression "pbVar10 = (byte *)0x33e66" identifier = (cast_expression "(byte *)0x33e66" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" do (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\ncode_r0x00021b08:\n        uVar16 = 8;\n      }" { (labeled_statement "code_r0x00021b08:\n        uVar16 = 8;" statement_identifier : (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" identifier = number_literal) ;)) }) (else_clause "else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }" else (compound_statement "{\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }" { (expression_statement "iVar4 = 0xc;" (assignment_expression "iVar4 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);" do (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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 code_r0x00021b08;" if (parenthesized_expression "(bVar11)" ( identifier )) (goto_statement "goto code_r0x00021b08;" goto statement_identifier ;)) (expression_statement "iVar4 = 6;" (assignment_expression "iVar4 = 6" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);" do (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n          uVar16 = 4;\n        }" { (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" identifier = number_literal) ;) }) (else_clause "else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }" else (compound_statement "{\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }" { (expression_statement "iVar4 = 0xb;" (assignment_expression "iVar4 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);" do (compound_statement "{\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }" { (expression_statement "iVar4 = 0xe;" (assignment_expression "iVar4 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);" do (compound_statement "{\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n              uVar17 = 1;\n              uVar16 = 1;\n            }" { (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;) }) (else_clause "else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }" else (compound_statement "{\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }" { (expression_statement "iVar4 = 4;" (assignment_expression "iVar4 = 4" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33f85;" (assignment_expression "pbVar10 = (byte *)0x33f85" identifier = (cast_expression "(byte *)0x33f85" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);" do (compound_statement "{\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }" { (labeled_statement "code_r0x00021b5b:\n                uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" identifier = number_literal) ;) }) (else_clause "else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }" else (compound_statement "{\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }" { (expression_statement "iVar4 = 0xd;" (assignment_expression "iVar4 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33f7c;" (assignment_expression "pbVar10 = (byte *)0x33f7c" identifier = (cast_expression "(byte *)0x33f7c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);" do (compound_statement "{\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }" { (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e51;" (assignment_expression "pbVar10 = (byte *)0x33e51" identifier = (cast_expression "(byte *)0x33e51" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);" do (compound_statement "{\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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 code_r0x00021b5b;" if (parenthesized_expression "(bVar11)" ( identifier )) (goto_statement "goto code_r0x00021b5b;" goto statement_identifier ;)) (expression_statement "iVar4 = 0xe;" (assignment_expression "iVar4 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);" do (compound_statement "{\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  }" { (expression_statement "pbVar7 = pbVar8;" (assignment_expression "pbVar7 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar9 = pbVar10;" (assignment_expression "pbVar9 = pbVar10" identifier = identifier) ;) (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) ;) (expression_statement "pbVar10 = pbVar9;" (assignment_expression "pbVar10 = pbVar9" identifier = identifier) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\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                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }" { (expression_statement "iVar4 = strcmp((char *)__s1,"__int128");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 0x10;" (assignment_expression "uVar16 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }" else (compound_statement "{\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }" { (expression_statement "iVar4 = strcmp((char *)__s1,"unsigned __int128");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }" { (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (expression_statement "uVar16 = 0x10;" (assignment_expression "uVar16 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }" else (compound_statement "{\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }" { (expression_statement "iVar4 = strcmp((char *)__s1,"short");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 2;" (assignment_expression "uVar16 = 2" identifier = number_literal) ;) (expression_statement "pbVar2 = pbVar7;" (assignment_expression "pbVar2 = pbVar7" identifier = identifier) ;) }) (else_clause "else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }" else (compound_statement "{\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }" { (expression_statement "iVar4 = strcmp((char *)__s1,"unsigned short");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }" { (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (expression_statement "uVar16 = 2;" (assignment_expression "uVar16 = 2" identifier = number_literal) ;) (expression_statement "pbVar2 = __s1;" (assignment_expression "pbVar2 = __s1" identifier = identifier) ;) }) (else_clause "else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }" else (compound_statement "{\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }" { (expression_statement "puVar15 = &UNK_00033e56;" (assignment_expression "puVar15 = &UNK_00033e56" identifier = (pointer_expression "&UNK_00033e56" & identifier)) ;) (expression_statement "iVar5 = iVar4;" (assignment_expression "iVar5 = iVar4" identifier = identifier) ;) (expression_statement "pbVar2 = (byte *)strcmp((char *)__s1,"void");" (assignment_expression "pbVar2 = (byte *)strcmp((char *)__s1,"void")" identifier = (cast_expression "(byte *)strcmp((char *)__s1,"void")" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (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 (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }" if (parenthesized_expression "(pbVar2 == (byte *)0x0)" ( (binary_expression "pbVar2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }" { (expression_statement "iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);" (assignment_expression "iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5)" identifier = (call_expression "FUN_0001f810(param_1,puVar15,iVar4,iVar5)" identifier (argument_list "(param_1,puVar15,iVar4,iVar5)" ( identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto code_r0x00021a32;" goto statement_identifier ;) })) (expression_statement "iVar4 = strcmp((char *)__s1,"wchar_t");" (assignment_expression "iVar4 = 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 (iVar4 == 0) goto code_r0x00021b6b;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00021b6b;" goto statement_identifier ;)) (expression_statement "iVar4 = strcmp((char *)__s1,"long long");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" else (compound_statement "{\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" { (expression_statement "iVar4 = strcmp((char *)__s1,"unsigned long long");" (assignment_expression "iVar4 = 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 (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }" { (expression_statement "iVar4 = strcmp((char *)__s1,"...");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }" { (if_statement "if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\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                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "*param_5 = 1;" (assignment_expression "*param_5 = 1" (pointer_expression "*param_5" * identifier) = number_literal) ;) (goto_statement "goto code_r0x00021a32;" goto statement_identifier ;) })) (expression_statement "pcVar6 = "Unexpected demangled varargs\n";" (assignment_expression "pcVar6 = "Unexpected demangled varargs\n"" identifier = (string_literal ""Unexpected demangled varargs\n"" " string_content escape_sequence ")) ;) (expression_statement "pbVar7 = pbVar9;" (assignment_expression "pbVar7 = pbVar9" identifier = identifier) ;) }) (else_clause "else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }" else (compound_statement "{\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }" { (expression_statement "pcVar6 = "Unrecognized demangled builtin type\n";" (assignment_expression "pcVar6 = "Unrecognized demangled builtin type\n"" identifier = (string_literal ""Unrecognized demangled builtin type\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);" (assignment_expression "pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7)" identifier = (cast_expression "(char *)dcgettext(0,pcVar6,5,pbVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar6,5,pbVar7)" identifier (argument_list "(0,pcVar6,5,pbVar7)" ( number_literal , identifier , number_literal , identifier ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);" (call_expression "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6)" identifier (argument_list "(*(FILE **)PTR_stderr_0003ffa8,pcVar6)" ( (pointer_expression "*(FILE **)PTR_stderr_0003ffa8" * (cast_expression "(FILE **)PTR_stderr_0003ffa8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier ))) ;) (goto_statement "goto code_r0x00021a32;" goto statement_identifier ;) })) (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) }))) }))) }))) (goto_statement "goto code_r0x00021a23;" goto statement_identifier ;) })) })) (labeled_statement "code_r0x00021b6b:\n                uVar17 = 1;" statement_identifier : (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;)) (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" identifier = number_literal) ;) }))) }))) (goto_statement "goto code_r0x00021a23;" goto statement_identifier ;) })) (expression_statement "uVar16 = 0x10;" (assignment_expression "uVar16 = 0x10" identifier = number_literal) ;) }))) }))) (expression_statement "iVar4 = FUN_0001f840(param_1,uVar16);" (assignment_expression "iVar4 = FUN_0001f840(param_1,uVar16)" identifier = (call_expression "FUN_0001f840(param_1,uVar16)" identifier (argument_list "(param_1,uVar16)" ( identifier , identifier )))) ;) (labeled_statement "code_r0x00021a32:\n      free(__s1);" statement_identifier : (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;)) (return_statement "return iVar4;" return identifier ;) })) (expression_statement "pcVar6 = "Couldn\'t get demangled builtin type\n";" (assignment_expression "pcVar6 = "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 ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;" case number_literal : (if_statement "if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }" if (parenthesized_expression "(param_3[2] == 0)" ( (binary_expression "param_3[2] == 0" (subscript_expression "param_3[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar4 = FUN_0001f810(param_1);\n    }" { (expression_statement "iVar4 = FUN_0001f810(param_1);" (assignment_expression "iVar4 = FUN_0001f810(param_1)" identifier = (call_expression "FUN_0001f810(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) }) (else_clause "else {\n      iVar4 = FUN_000214b0(0,0);\n    }" else (compound_statement "{\n      iVar4 = FUN_000214b0(0,0);\n    }" { (expression_statement "iVar4 = FUN_000214b0(0,0);" (assignment_expression "iVar4 = FUN_000214b0(0,0)" identifier = (call_expression "FUN_000214b0(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal )))) ;) }))) (if_statement "if (iVar4 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar5 = FUN_00021c10(auStack_20);" (assignment_expression "iVar5 = FUN_00021c10(auStack_20)" identifier = (call_expression "FUN_00021c10(auStack_20)" identifier (argument_list "(auStack_20)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);" (assignment_expression "iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0])" identifier = (call_expression "FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0])" identifier (argument_list "(param_1,iVar4,iVar5,auStack_20[0])" ( identifier , identifier , identifier , (subscript_expression "auStack_20[0]" identifier [ number_literal ]) )))) ;) (return_statement "return iVar4;" return identifier ;)) })) (expression_statement "uVar16 = 5;" (assignment_expression "uVar16 = 5" identifier = number_literal) ;) (expression_statement "pcVar6 = (char *)dcgettext(0,pcVar6,5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,pcVar6,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar6,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar6,5)" identifier (argument_list "(0,pcVar6,5)" ( number_literal , identifier , number_literal ))))) ;) (labeled_statement "code_r0x000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);" statement_identifier : (expression_statement "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);" (call_expression "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16)" identifier (argument_list "(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16)" ( (pointer_expression "*(FILE **)PTR_stderr_0003ffa8" * (cast_expression "(FILE **)PTR_stderr_0003ffa8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\ndebug_type __regparm3\nstab_demangle_v3_arg\n          (void *dhandle,stab_handle *info,demangle_component *dc,debug_type context,\n          bfd_boolean *pvarargs)\n\n{\n  debug_field field;\n  demangle_component *dc_00;\n  size_t sVar1;\n  byte *__s1;\n  debug_field *ppdVar2;\n  debug_type pdVar3;\n  debug_type_conflict *handle;\n  debug_type_conflict pdVar4;\n  char *pcVar5;\n  int iVar6;\n  debug_type_conflict *arg_types;\n  debug_type_conflict type;\n  byte *pbVar7;\n  byte *pbVar9;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  stab_handle *in_stack_ffffffb8;\n  uint uVar15;\n  demangle_component *in_stack_ffffffbc;\n  demangle_component_type dVar16;\n  bfd_boolean unsignedp;\n  bfd_boolean *in_stack_ffffffc0;\n  size_t alc;\n  undefined4 uStack_14;\n  byte *pbVar8;\n  byte *pbVar10;\n  \n  bVar14 = 0;\n  uStack_14 = 0x214bd;\n  if (pvarargs != (bfd_boolean *)0x0) {\n    *pvarargs = 0;\n  }\n  dVar16 = dc->type;\n  switch(dVar16) {\n  case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (debug_field *)0x0)) {\n      field = *ppdVar2;\n      while (field != (debug_field)0x0) {\n        pdVar4 = debug_get_field_type(dhandle,field);\n        if (pdVar4 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar5 = debug_get_type_name(dhandle,pdVar4);\n        if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {\n          return pdVar4;\n        }\n        ppdVar2 = ppdVar2 + 1;\n        field = *ppdVar2;\n      }\n    }\n  case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar3 = 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 pdVar3;\n  case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar3 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_extended_operator.name,pdVar3,(bfd_boolean *)0x0);\n    return pdVar3;\n  default:\n    pcVar5 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto LAB_000219f7;\n  case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar5 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar5 != (char *)0x0) {\n      sVar1 = strlen(pcVar5);\n      pdVar3 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS);\n      free(pcVar5);\n      return pdVar3;\n    }\n    pcVar5 = "Failed to print demangled template\n";\n    break;\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    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar3 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar3;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar4 = debug_make_const_type(dhandle,pdVar3);\n        return pdVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar4 = debug_make_reference_type(dhandle,pdVar3);\n        return pdVar4;\n      }\n    }\n    return (debug_type)0x0;\n  case DEMANGLE_COMPONENT_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar6 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\nLAB_00021a18:\n        unsignedp = 0;\n        uVar15 = 1;\nLAB_00021a23:\n        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &DAT_00033f2e;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        pdVar4 = debug_make_bool_type(1);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto LAB_00021a18;\n      iVar6 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\nLAB_00021b08:\n        uVar15 = 8;\n      }\n      else {\n        iVar6 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto LAB_00021b08;\n        iVar6 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }\n      }\n      pdVar4 = debug_make_float_type(uVar15);\nLAB_00021a32:\n      free(__s1);\n      return pdVar4;\n    }\n    pcVar5 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    dc_00 = (dc->u).s_fixed.length;\n    if (dc_00 == (demangle_component *)0x0) {\n      pdVar3 = debug_make_void_type();\n    }\n    else {\n      in_stack_ffffffb8 = (stab_handle *)0x0;\n      pdVar3 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    handle = stab_demangle_v3_arglist(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0);\n    if (handle == (debug_type_conflict *)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar4 = debug_make_function_type(handle,type,arg_types,(bfd_boolean)dhandle);\n    return pdVar4;\n  }\n  dVar16 = DEMANGLE_COMPONENT_TEMPLATE_PARAM;\n  pcVar5 = (char *)dcgettext(0,pcVar5,5);\nLAB_000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5,dVar16);\n  return (debug_type)0x0;\n}\n\n" comment (function_definition "debug_type __regparm3\nstab_demangle_v3_arg\n          (void *dhandle,stab_handle *info,demangle_component *dc,debug_type context,\n          bfd_boolean *pvarargs)\n\n{\n  debug_field field;\n  demangle_component *dc_00;\n  size_t sVar1;\n  byte *__s1;\n  debug_field *ppdVar2;\n  debug_type pdVar3;\n  debug_type_conflict *handle;\n  debug_type_conflict pdVar4;\n  char *pcVar5;\n  int iVar6;\n  debug_type_conflict *arg_types;\n  debug_type_conflict type;\n  byte *pbVar7;\n  byte *pbVar9;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  stab_handle *in_stack_ffffffb8;\n  uint uVar15;\n  demangle_component *in_stack_ffffffbc;\n  demangle_component_type dVar16;\n  bfd_boolean unsignedp;\n  bfd_boolean *in_stack_ffffffc0;\n  size_t alc;\n  undefined4 uStack_14;\n  byte *pbVar8;\n  byte *pbVar10;\n  \n  bVar14 = 0;\n  uStack_14 = 0x214bd;\n  if (pvarargs != (bfd_boolean *)0x0) {\n    *pvarargs = 0;\n  }\n  dVar16 = dc->type;\n  switch(dVar16) {\n  case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (debug_field *)0x0)) {\n      field = *ppdVar2;\n      while (field != (debug_field)0x0) {\n        pdVar4 = debug_get_field_type(dhandle,field);\n        if (pdVar4 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar5 = debug_get_type_name(dhandle,pdVar4);\n        if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {\n          return pdVar4;\n        }\n        ppdVar2 = ppdVar2 + 1;\n        field = *ppdVar2;\n      }\n    }\n  case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar3 = 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 pdVar3;\n  case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar3 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_extended_operator.name,pdVar3,(bfd_boolean *)0x0);\n    return pdVar3;\n  default:\n    pcVar5 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto LAB_000219f7;\n  case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar5 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar5 != (char *)0x0) {\n      sVar1 = strlen(pcVar5);\n      pdVar3 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS);\n      free(pcVar5);\n      return pdVar3;\n    }\n    pcVar5 = "Failed to print demangled template\n";\n    break;\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    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar3 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar3;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar4 = debug_make_const_type(dhandle,pdVar3);\n        return pdVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar4 = debug_make_reference_type(dhandle,pdVar3);\n        return pdVar4;\n      }\n    }\n    return (debug_type)0x0;\n  case DEMANGLE_COMPONENT_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar6 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\nLAB_00021a18:\n        unsignedp = 0;\n        uVar15 = 1;\nLAB_00021a23:\n        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &DAT_00033f2e;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        pdVar4 = debug_make_bool_type(1);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto LAB_00021a18;\n      iVar6 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\nLAB_00021b08:\n        uVar15 = 8;\n      }\n      else {\n        iVar6 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto LAB_00021b08;\n        iVar6 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }\n      }\n      pdVar4 = debug_make_float_type(uVar15);\nLAB_00021a32:\n      free(__s1);\n      return pdVar4;\n    }\n    pcVar5 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    dc_00 = (dc->u).s_fixed.length;\n    if (dc_00 == (demangle_component *)0x0) {\n      pdVar3 = debug_make_void_type();\n    }\n    else {\n      in_stack_ffffffb8 = (stab_handle *)0x0;\n      pdVar3 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    handle = stab_demangle_v3_arglist(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0);\n    if (handle == (debug_type_conflict *)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar4 = debug_make_function_type(handle,type,arg_types,(bfd_boolean)dhandle);\n    return pdVar4;\n  }\n  dVar16 = DEMANGLE_COMPONENT_TEMPLATE_PARAM;\n  pcVar5 = (char *)dcgettext(0,pcVar5,5);\nLAB_000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5,dVar16);\n  return (debug_type)0x0;\n}" type_identifier (ERROR "__regparm3" 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  debug_field field;\n  demangle_component *dc_00;\n  size_t sVar1;\n  byte *__s1;\n  debug_field *ppdVar2;\n  debug_type pdVar3;\n  debug_type_conflict *handle;\n  debug_type_conflict pdVar4;\n  char *pcVar5;\n  int iVar6;\n  debug_type_conflict *arg_types;\n  debug_type_conflict type;\n  byte *pbVar7;\n  byte *pbVar9;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  stab_handle *in_stack_ffffffb8;\n  uint uVar15;\n  demangle_component *in_stack_ffffffbc;\n  demangle_component_type dVar16;\n  bfd_boolean unsignedp;\n  bfd_boolean *in_stack_ffffffc0;\n  size_t alc;\n  undefined4 uStack_14;\n  byte *pbVar8;\n  byte *pbVar10;\n  \n  bVar14 = 0;\n  uStack_14 = 0x214bd;\n  if (pvarargs != (bfd_boolean *)0x0) {\n    *pvarargs = 0;\n  }\n  dVar16 = dc->type;\n  switch(dVar16) {\n  case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (debug_field *)0x0)) {\n      field = *ppdVar2;\n      while (field != (debug_field)0x0) {\n        pdVar4 = debug_get_field_type(dhandle,field);\n        if (pdVar4 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar5 = debug_get_type_name(dhandle,pdVar4);\n        if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {\n          return pdVar4;\n        }\n        ppdVar2 = ppdVar2 + 1;\n        field = *ppdVar2;\n      }\n    }\n  case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar3 = 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 pdVar3;\n  case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar3 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_extended_operator.name,pdVar3,(bfd_boolean *)0x0);\n    return pdVar3;\n  default:\n    pcVar5 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto LAB_000219f7;\n  case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar5 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar5 != (char *)0x0) {\n      sVar1 = strlen(pcVar5);\n      pdVar3 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS);\n      free(pcVar5);\n      return pdVar3;\n    }\n    pcVar5 = "Failed to print demangled template\n";\n    break;\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    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar3 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar3;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar4 = debug_make_const_type(dhandle,pdVar3);\n        return pdVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar4 = debug_make_reference_type(dhandle,pdVar3);\n        return pdVar4;\n      }\n    }\n    return (debug_type)0x0;\n  case DEMANGLE_COMPONENT_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar6 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\nLAB_00021a18:\n        unsignedp = 0;\n        uVar15 = 1;\nLAB_00021a23:\n        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &DAT_00033f2e;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        pdVar4 = debug_make_bool_type(1);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto LAB_00021a18;\n      iVar6 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\nLAB_00021b08:\n        uVar15 = 8;\n      }\n      else {\n        iVar6 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto LAB_00021b08;\n        iVar6 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }\n      }\n      pdVar4 = debug_make_float_type(uVar15);\nLAB_00021a32:\n      free(__s1);\n      return pdVar4;\n    }\n    pcVar5 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    dc_00 = (dc->u).s_fixed.length;\n    if (dc_00 == (demangle_component *)0x0) {\n      pdVar3 = debug_make_void_type();\n    }\n    else {\n      in_stack_ffffffb8 = (stab_handle *)0x0;\n      pdVar3 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    handle = stab_demangle_v3_arglist(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0);\n    if (handle == (debug_type_conflict *)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar4 = debug_make_function_type(handle,type,arg_types,(bfd_boolean)dhandle);\n    return pdVar4;\n  }\n  dVar16 = DEMANGLE_COMPONENT_TEMPLATE_PARAM;\n  pcVar5 = (char *)dcgettext(0,pcVar5,5);\nLAB_000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5,dVar16);\n  return (debug_type)0x0;\n}" { (declaration "debug_field field;" type_identifier identifier ;) (declaration "demangle_component *dc_00;" type_identifier (pointer_declarator "*dc_00" * identifier) ;) (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "byte *__s1;" type_identifier (pointer_declarator "*__s1" * identifier) ;) (declaration "debug_field *ppdVar2;" type_identifier (pointer_declarator "*ppdVar2" * identifier) ;) (declaration "debug_type pdVar3;" type_identifier identifier ;) (declaration "debug_type_conflict *handle;" type_identifier (pointer_declarator "*handle" * identifier) ;) (declaration "debug_type_conflict pdVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "debug_type_conflict *arg_types;" type_identifier (pointer_declarator "*arg_types" * identifier) ;) (declaration "debug_type_conflict type;" type_identifier identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * 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 "stab_handle *in_stack_ffffffb8;" type_identifier (pointer_declarator "*in_stack_ffffffb8" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "demangle_component *in_stack_ffffffbc;" type_identifier (pointer_declarator "*in_stack_ffffffbc" * identifier) ;) (declaration "demangle_component_type dVar16;" type_identifier identifier ;) (declaration "bfd_boolean unsignedp;" type_identifier identifier ;) (declaration "bfd_boolean *in_stack_ffffffc0;" type_identifier (pointer_declarator "*in_stack_ffffffc0" * identifier) ;) (declaration "size_t alc;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x214bd;" (assignment_expression "uStack_14 = 0x214bd" 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 "dVar16 = dc->type;" (assignment_expression "dVar16 = dc->type" identifier = (field_expression "dc->type" identifier -> field_identifier)) ;) (switch_statement "switch(dVar16) {\n  case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (debug_field *)0x0)) {\n      field = *ppdVar2;\n      while (field != (debug_field)0x0) {\n        pdVar4 = debug_get_field_type(dhandle,field);\n        if (pdVar4 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar5 = debug_get_type_name(dhandle,pdVar4);\n        if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {\n          return pdVar4;\n        }\n        ppdVar2 = ppdVar2 + 1;\n        field = *ppdVar2;\n      }\n    }\n  case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar3 = 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 pdVar3;\n  case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar3 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_extended_operator.name,pdVar3,(bfd_boolean *)0x0);\n    return pdVar3;\n  default:\n    pcVar5 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto LAB_000219f7;\n  case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar5 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar5 != (char *)0x0) {\n      sVar1 = strlen(pcVar5);\n      pdVar3 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS);\n      free(pcVar5);\n      return pdVar3;\n    }\n    pcVar5 = "Failed to print demangled template\n";\n    break;\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    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar3 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar3;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar4 = debug_make_const_type(dhandle,pdVar3);\n        return pdVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar4 = debug_make_reference_type(dhandle,pdVar3);\n        return pdVar4;\n      }\n    }\n    return (debug_type)0x0;\n  case DEMANGLE_COMPONENT_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar6 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\nLAB_00021a18:\n        unsignedp = 0;\n        uVar15 = 1;\nLAB_00021a23:\n        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &DAT_00033f2e;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        pdVar4 = debug_make_bool_type(1);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto LAB_00021a18;\n      iVar6 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\nLAB_00021b08:\n        uVar15 = 8;\n      }\n      else {\n        iVar6 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto LAB_00021b08;\n        iVar6 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }\n      }\n      pdVar4 = debug_make_float_type(uVar15);\nLAB_00021a32:\n      free(__s1);\n      return pdVar4;\n    }\n    pcVar5 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    dc_00 = (dc->u).s_fixed.length;\n    if (dc_00 == (demangle_component *)0x0) {\n      pdVar3 = debug_make_void_type();\n    }\n    else {\n      in_stack_ffffffb8 = (stab_handle *)0x0;\n      pdVar3 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    handle = stab_demangle_v3_arglist(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0);\n    if (handle == (debug_type_conflict *)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar4 = debug_make_function_type(handle,type,arg_types,(bfd_boolean)dhandle);\n    return pdVar4;\n  }" switch (parenthesized_expression "(dVar16)" ( identifier )) (compound_statement "{\n  case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (debug_field *)0x0)) {\n      field = *ppdVar2;\n      while (field != (debug_field)0x0) {\n        pdVar4 = debug_get_field_type(dhandle,field);\n        if (pdVar4 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar5 = debug_get_type_name(dhandle,pdVar4);\n        if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {\n          return pdVar4;\n        }\n        ppdVar2 = ppdVar2 + 1;\n        field = *ppdVar2;\n      }\n    }\n  case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar3 = 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 pdVar3;\n  case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar3 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_extended_operator.name,pdVar3,(bfd_boolean *)0x0);\n    return pdVar3;\n  default:\n    pcVar5 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto LAB_000219f7;\n  case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar5 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar5 != (char *)0x0) {\n      sVar1 = strlen(pcVar5);\n      pdVar3 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS);\n      free(pcVar5);\n      return pdVar3;\n    }\n    pcVar5 = "Failed to print demangled template\n";\n    break;\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    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar3 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar3;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar4 = debug_make_const_type(dhandle,pdVar3);\n        return pdVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar4 = debug_make_reference_type(dhandle,pdVar3);\n        return pdVar4;\n      }\n    }\n    return (debug_type)0x0;\n  case DEMANGLE_COMPONENT_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar6 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\nLAB_00021a18:\n        unsignedp = 0;\n        uVar15 = 1;\nLAB_00021a23:\n        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &DAT_00033f2e;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        pdVar4 = debug_make_bool_type(1);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto LAB_00021a18;\n      iVar6 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\nLAB_00021b08:\n        uVar15 = 8;\n      }\n      else {\n        iVar6 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto LAB_00021b08;\n        iVar6 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }\n      }\n      pdVar4 = debug_make_float_type(uVar15);\nLAB_00021a32:\n      free(__s1);\n      return pdVar4;\n    }\n    pcVar5 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    dc_00 = (dc->u).s_fixed.length;\n    if (dc_00 == (demangle_component *)0x0) {\n      pdVar3 = debug_make_void_type();\n    }\n    else {\n      in_stack_ffffffb8 = (stab_handle *)0x0;\n      pdVar3 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    handle = stab_demangle_v3_arglist(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0);\n    if (handle == (debug_type_conflict *)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar4 = debug_make_function_type(handle,type,arg_types,(bfd_boolean)dhandle);\n    return pdVar4;\n  }" { (case_statement "case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (debug_field *)0x0)) {\n      field = *ppdVar2;\n      while (field != (debug_field)0x0) {\n        pdVar4 = debug_get_field_type(dhandle,field);\n        if (pdVar4 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar5 = debug_get_type_name(dhandle,pdVar4);\n        if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {\n          return pdVar4;\n        }\n        ppdVar2 = ppdVar2 + 1;\n        field = *ppdVar2;\n      }\n    }" case identifier : (if_statement "if ((context != (debug_type)0x0) &&\n       (ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (debug_field *)0x0)) {\n      field = *ppdVar2;\n      while (field != (debug_field)0x0) {\n        pdVar4 = debug_get_field_type(dhandle,field);\n        if (pdVar4 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar5 = debug_get_type_name(dhandle,pdVar4);\n        if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {\n          return pdVar4;\n        }\n        ppdVar2 = ppdVar2 + 1;\n        field = *ppdVar2;\n      }\n    }" if (parenthesized_expression "((context != (debug_type)0x0) &&\n       (ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (debug_field *)0x0))" ( (binary_expression "(context != (debug_type)0x0) &&\n       (ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (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 "(ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (debug_field *)0x0)" ( (comma_expression "ppdVar2 = debug_get_fields(dhandle,context), ppdVar2 != (debug_field *)0x0" (assignment_expression "ppdVar2 = debug_get_fields(dhandle,context)" identifier = (call_expression "debug_get_fields(dhandle,context)" identifier (argument_list "(dhandle,context)" ( identifier , identifier )))) , (binary_expression "ppdVar2 != (debug_field *)0x0" identifier != (cast_expression "(debug_field *)0x0" ( (type_descriptor "debug_field *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      field = *ppdVar2;\n      while (field != (debug_field)0x0) {\n        pdVar4 = debug_get_field_type(dhandle,field);\n        if (pdVar4 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar5 = debug_get_type_name(dhandle,pdVar4);\n        if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {\n          return pdVar4;\n        }\n        ppdVar2 = ppdVar2 + 1;\n        field = *ppdVar2;\n      }\n    }" { (expression_statement "field = *ppdVar2;" (assignment_expression "field = *ppdVar2" identifier = (pointer_expression "*ppdVar2" * identifier)) ;) (while_statement "while (field != (debug_field)0x0) {\n        pdVar4 = debug_get_field_type(dhandle,field);\n        if (pdVar4 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar5 = debug_get_type_name(dhandle,pdVar4);\n        if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {\n          return pdVar4;\n        }\n        ppdVar2 = ppdVar2 + 1;\n        field = *ppdVar2;\n      }" while (parenthesized_expression "(field != (debug_field)0x0)" ( (binary_expression "field != (debug_field)0x0" identifier != (cast_expression "(debug_field)0x0" ( (type_descriptor "debug_field" type_identifier) ) number_literal)) )) (compound_statement "{\n        pdVar4 = debug_get_field_type(dhandle,field);\n        if (pdVar4 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar5 = debug_get_type_name(dhandle,pdVar4);\n        if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {\n          return pdVar4;\n        }\n        ppdVar2 = ppdVar2 + 1;\n        field = *ppdVar2;\n      }" { (expression_statement "pdVar4 = debug_get_field_type(dhandle,field);" (assignment_expression "pdVar4 = debug_get_field_type(dhandle,field)" identifier = (call_expression "debug_get_field_type(dhandle,field)" identifier (argument_list "(dhandle,field)" ( identifier , identifier )))) ;) (if_statement "if (pdVar4 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }" if (parenthesized_expression "(pdVar4 == (debug_type_conflict)0x0)" ( (binary_expression "pdVar4 == (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 "pcVar5 = debug_get_type_name(dhandle,pdVar4);" (assignment_expression "pcVar5 = debug_get_type_name(dhandle,pdVar4)" identifier = (call_expression "debug_get_type_name(dhandle,pdVar4)" identifier (argument_list "(dhandle,pdVar4)" ( identifier , identifier )))) ;) (if_statement "if (((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)) {\n          return pdVar4;\n        }" if (parenthesized_expression "(((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0))" ( (binary_expression "((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)) &&\n           (iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)" (parenthesized_expression "((pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len))" ( (binary_expression "(pcVar5 != (char *)0x0) && (sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)" (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len)" ( (comma_expression "sVar1 = strlen(pcVar5), sVar1 == (dc->u).s_name.len" (assignment_expression "sVar1 = strlen(pcVar5)" identifier = (call_expression "strlen(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier )))) , (binary_expression "sVar1 == (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))) ))) )) && (parenthesized_expression "(iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0)" ( (comma_expression "iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1), iVar6 == 0" (assignment_expression "iVar6 = strncmp(pcVar5,(dc->u).s_name.s,sVar1)" identifier = (call_expression "strncmp(pcVar5,(dc->u).s_name.s,sVar1)" identifier (argument_list "(pcVar5,(dc->u).s_name.s,sVar1)" ( 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) , identifier )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          return pdVar4;\n        }" { (return_statement "return pdVar4;" return identifier ;) })) (expression_statement "ppdVar2 = ppdVar2 + 1;" (assignment_expression "ppdVar2 = ppdVar2 + 1" identifier = (binary_expression "ppdVar2 + 1" identifier + number_literal)) ;) (expression_statement "field = *ppdVar2;" (assignment_expression "field = *ppdVar2" identifier = (pointer_expression "*ppdVar2" * identifier)) ;) })) }))) (case_statement "case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar3 = 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 pdVar3;" case identifier : (expression_statement "pdVar3 = 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 "pdVar3 = 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 pdVar3;" return identifier ;)) (case_statement "case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar3 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_extended_operator.name,pdVar3,(bfd_boolean *)0x0);\n    return pdVar3;" case identifier : (expression_statement "pdVar3 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);" (assignment_expression "pdVar3 = 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 (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }" if (parenthesized_expression "(pdVar3 == (debug_type)0x0)" ( (binary_expression "pdVar3 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" 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 "pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_extended_operator.name,pdVar3,(bfd_boolean *)0x0);" (assignment_expression "pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_extended_operator.name,pdVar3,(bfd_boolean *)0x0)" identifier = (call_expression "stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_extended_operator.name,pdVar3,(bfd_boolean *)0x0)" identifier (argument_list "(dhandle,info,(dc->u).s_extended_operator.name,pdVar3,(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 pdVar3;" return identifier ;)) (case_statement "default:\n    pcVar5 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto LAB_000219f7;" default : (expression_statement "pcVar5 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);" (assignment_expression "pcVar5 = (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 ))))) ;) (goto_statement "goto LAB_000219f7;" goto statement_identifier ;)) (case_statement "case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar5 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar5 != (char *)0x0) {\n      sVar1 = strlen(pcVar5);\n      pdVar3 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS);\n      free(pcVar5);\n      return pdVar3;\n    }\n    pcVar5 = "Failed to print demangled template\n";\n    break;" case identifier : (expression_statement "pcVar5 = (char *)cplus_demangle_print(3,dc,0x14,&alc);" (assignment_expression "pcVar5 = (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 (pcVar5 != (char *)0x0) {\n      sVar1 = strlen(pcVar5);\n      pdVar3 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS);\n      free(pcVar5);\n      return pdVar3;\n    }" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar1 = strlen(pcVar5);\n      pdVar3 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS);\n      free(pcVar5);\n      return pdVar3;\n    }" { (expression_statement "sVar1 = strlen(pcVar5);" (assignment_expression "sVar1 = strlen(pcVar5)" identifier = (call_expression "strlen(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier )))) ;) (expression_statement "pdVar3 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS);" (assignment_expression "pdVar3 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS)" identifier = (call_expression "stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,DEBUG_KIND_CLASS)" identifier (argument_list "(dhandle,(stab_handle *)&info->tags,pcVar5,sVar1,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 , identifier , identifier )))) ;) (expression_statement "free(pcVar5);" (call_expression "free(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (return_statement "return pdVar3;" return identifier ;) })) (expression_statement "pcVar5 = "Failed to print demangled template\n";" (assignment_expression "pcVar5 = "Failed to print demangled template\n"" identifier = (string_literal ""Failed to print demangled template\n"" " string_content escape_sequence ")) ;) (break_statement "break;" break ;)) (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    pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar3 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar3;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar4 = debug_make_const_type(dhandle,pdVar3);\n        return pdVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar4 = debug_make_reference_type(dhandle,pdVar3);\n        return pdVar4;\n      }\n    }\n    return (debug_type)0x0;" case identifier : (expression_statement "pdVar3 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);" (assignment_expression "pdVar3 = 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 (pdVar3 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar3;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar4 = debug_make_const_type(dhandle,pdVar3);\n        return pdVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar4 = debug_make_reference_type(dhandle,pdVar3);\n        return pdVar4;\n      }\n    }" if (parenthesized_expression "(pdVar3 != (debug_type)0x0)" ( (binary_expression "pdVar3 != (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 pdVar3;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar4 = debug_make_const_type(dhandle,pdVar3);\n        return pdVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar4 = debug_make_reference_type(dhandle,pdVar3);\n        return pdVar4;\n      }\n    }" { (switch_statement "switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar3;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar4 = debug_make_const_type(dhandle,pdVar3);\n        return pdVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar4 = debug_make_reference_type(dhandle,pdVar3);\n        return pdVar4;\n      }" switch (parenthesized_expression "(dc->type)" ( (field_expression "dc->type" identifier -> field_identifier) )) (compound_statement "{\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar3;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar4 = debug_make_const_type(dhandle,pdVar3);\n        return pdVar4;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);\n        return pdVar4;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar4 = debug_make_reference_type(dhandle,pdVar3);\n        return pdVar4;\n      }" { (case_statement "case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar3;" case identifier : (return_statement "return pdVar3;" return identifier ;)) (case_statement "case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar4 = debug_make_volatile_type(dhandle,pdVar3);\n        return pdVar4;" case identifier : (expression_statement "pdVar4 = debug_make_volatile_type(dhandle,pdVar3);" (assignment_expression "pdVar4 = debug_make_volatile_type(dhandle,pdVar3)" identifier = (call_expression "debug_make_volatile_type(dhandle,pdVar3)" identifier (argument_list "(dhandle,pdVar3)" ( identifier , identifier )))) ;) (return_statement "return pdVar4;" return identifier ;)) (case_statement "case DEMANGLE_COMPONENT_CONST:\n        pdVar4 = debug_make_const_type(dhandle,pdVar3);\n        return pdVar4;" case identifier : (expression_statement "pdVar4 = debug_make_const_type(dhandle,pdVar3);" (assignment_expression "pdVar4 = debug_make_const_type(dhandle,pdVar3)" identifier = (call_expression "debug_make_const_type(dhandle,pdVar3)" identifier (argument_list "(dhandle,pdVar3)" ( identifier , identifier )))) ;) (return_statement "return pdVar4;" 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        pdVar4 = debug_make_pointer_type(dhandle,pdVar3);\n        return pdVar4;" case identifier : (expression_statement "pdVar4 = debug_make_pointer_type(dhandle,pdVar3);" (assignment_expression "pdVar4 = debug_make_pointer_type(dhandle,pdVar3)" identifier = (call_expression "debug_make_pointer_type(dhandle,pdVar3)" identifier (argument_list "(dhandle,pdVar3)" ( identifier , identifier )))) ;) (return_statement "return pdVar4;" return identifier ;)) (case_statement "case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar4 = debug_make_reference_type(dhandle,pdVar3);\n        return pdVar4;" case identifier : (expression_statement "pdVar4 = debug_make_reference_type(dhandle,pdVar3);" (assignment_expression "pdVar4 = debug_make_reference_type(dhandle,pdVar3)" identifier = (call_expression "debug_make_reference_type(dhandle,pdVar3)" identifier (argument_list "(dhandle,pdVar3)" ( identifier , identifier )))) ;) (return_statement "return pdVar4;" return 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_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar6 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\nLAB_00021a18:\n        unsignedp = 0;\n        uVar15 = 1;\nLAB_00021a23:\n        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &DAT_00033f2e;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        pdVar4 = debug_make_bool_type(1);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto LAB_00021a18;\n      iVar6 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\nLAB_00021b08:\n        uVar15 = 8;\n      }\n      else {\n        iVar6 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto LAB_00021b08;\n        iVar6 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }\n      }\n      pdVar4 = debug_make_float_type(uVar15);\nLAB_00021a32:\n      free(__s1);\n      return pdVar4;\n    }\n    pcVar5 = "Couldn\'t get demangled builtin type\n";\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 "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      iVar6 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\nLAB_00021a18:\n        unsignedp = 0;\n        uVar15 = 1;\nLAB_00021a23:\n        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &DAT_00033f2e;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        pdVar4 = debug_make_bool_type(1);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto LAB_00021a18;\n      iVar6 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\nLAB_00021b08:\n        uVar15 = 8;\n      }\n      else {\n        iVar6 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto LAB_00021b08;\n        iVar6 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }\n      }\n      pdVar4 = debug_make_float_type(uVar15);\nLAB_00021a32:\n      free(__s1);\n      return pdVar4;\n    }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n      iVar6 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\nLAB_00021a18:\n        unsignedp = 0;\n        uVar15 = 1;\nLAB_00021a23:\n        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &DAT_00033f2e;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        pdVar4 = debug_make_bool_type(1);\n        goto LAB_00021a32;\n      }\n      iVar6 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto LAB_00021a18;\n      iVar6 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\nLAB_00021b08:\n        uVar15 = 8;\n      }\n      else {\n        iVar6 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto LAB_00021b08;\n        iVar6 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }\n      }\n      pdVar4 = debug_make_float_type(uVar15);\nLAB_00021a32:\n      free(__s1);\n      return pdVar4;\n    }" { (expression_statement "iVar6 = 0xc;" (assignment_expression "iVar6 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e24;" (assignment_expression "pbVar10 = (byte *)0x33e24" identifier = (cast_expression "(byte *)0x33e24" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);" do (compound_statement "{\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar10;" (assignment_expression "bVar11 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar8 == *pbVar10;" (assignment_expression "bVar13 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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) {\nLAB_00021a18:\n        unsignedp = 0;\n        uVar15 = 1;\nLAB_00021a23:\n        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);\n        goto LAB_00021a32;\n      }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\nLAB_00021a18:\n        unsignedp = 0;\n        uVar15 = 1;\nLAB_00021a23:\n        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);\n        goto LAB_00021a32;\n      }" { (labeled_statement "LAB_00021a18:\n        unsignedp = 0;" statement_identifier : (expression_statement "unsignedp = 0;" (assignment_expression "unsignedp = 0" identifier = number_literal) ;)) (expression_statement "uVar15 = 1;" (assignment_expression "uVar15 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00021a23:\n        pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);" statement_identifier : (expression_statement "pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp);" (assignment_expression "pdVar4 = debug_make_int_type(dhandle,uVar15,unsignedp)" identifier = (call_expression "debug_make_int_type(dhandle,uVar15,unsignedp)" identifier (argument_list "(dhandle,uVar15,unsignedp)" ( identifier , identifier , identifier )))) ;)) (goto_statement "goto LAB_00021a32;" goto statement_identifier ;) })) (expression_statement "iVar6 = 5;" (assignment_expression "iVar6 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = &DAT_00033f2e;" (assignment_expression "pbVar10 = &DAT_00033f2e" identifier = (pointer_expression "&DAT_00033f2e" & identifier)) ;) (do_statement "do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" do (compound_statement "{\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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        pdVar4 = debug_make_bool_type(1);\n        goto LAB_00021a32;\n      }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n        pdVar4 = debug_make_bool_type(1);\n        goto LAB_00021a32;\n      }" { (expression_statement "pdVar4 = debug_make_bool_type(1);" (assignment_expression "pdVar4 = debug_make_bool_type(1)" identifier = (call_expression "debug_make_bool_type(1)" identifier (argument_list "(1)" ( number_literal )))) ;) (goto_statement "goto LAB_00021a32;" goto statement_identifier ;) })) (expression_statement "iVar6 = 5;" (assignment_expression "iVar6 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e2b;" (assignment_expression "pbVar10 = (byte *)0x33e2b" identifier = (cast_expression "(byte *)0x33e2b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" do (compound_statement "{\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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_00021a18;" if (parenthesized_expression "(bVar11)" ( identifier )) (goto_statement "goto LAB_00021a18;" goto statement_identifier ;)) (expression_statement "iVar6 = 7;" (assignment_expression "iVar6 = 7" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e66;" (assignment_expression "pbVar10 = (byte *)0x33e66" identifier = (cast_expression "(byte *)0x33e66" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" do (compound_statement "{\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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) {\nLAB_00021b08:\n        uVar15 = 8;\n      }\n      else {\n        iVar6 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto LAB_00021b08;\n        iVar6 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }\n      }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\nLAB_00021b08:\n        uVar15 = 8;\n      }" { (labeled_statement "LAB_00021b08:\n        uVar15 = 8;" statement_identifier : (expression_statement "uVar15 = 8;" (assignment_expression "uVar15 = 8" identifier = number_literal) ;)) }) (else_clause "else {\n        iVar6 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto LAB_00021b08;\n        iVar6 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }\n      }" else (compound_statement "{\n        iVar6 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto LAB_00021b08;\n        iVar6 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }\n      }" { (expression_statement "iVar6 = 0xc;" (assignment_expression "iVar6 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);" do (compound_statement "{\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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_00021b08;" if (parenthesized_expression "(bVar11)" ( identifier )) (goto_statement "goto LAB_00021b08;" goto statement_identifier ;)) (expression_statement "iVar6 = 6;" (assignment_expression "iVar6 = 6" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);" do (compound_statement "{\n          if (iVar6 == 0) break;\n          iVar6 = iVar6 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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          uVar15 = 4;\n        }\n        else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n          uVar15 = 4;\n        }" { (expression_statement "uVar15 = 4;" (assignment_expression "uVar15 = 4" identifier = number_literal) ;) }) (else_clause "else {\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }" else (compound_statement "{\n          iVar6 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }\n          uVar15 = 0x10;\n        }" { (expression_statement "iVar6 = 0xb;" (assignment_expression "iVar6 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);" do (compound_statement "{\n            if (iVar6 == 0) break;\n            iVar6 = iVar6 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n            iVar6 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }\n            goto LAB_00021a23;\n          }" { (expression_statement "iVar6 = 0xe;" (assignment_expression "iVar6 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);" do (compound_statement "{\n              if (iVar6 == 0) break;\n              iVar6 = iVar6 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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              unsignedp = 1;\n              uVar15 = 1;\n            }\n            else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n              unsignedp = 1;\n              uVar15 = 1;\n            }" { (expression_statement "unsignedp = 1;" (assignment_expression "unsignedp = 1" identifier = number_literal) ;) (expression_statement "uVar15 = 1;" (assignment_expression "uVar15 = 1" identifier = number_literal) ;) }) (else_clause "else {\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }" else (compound_statement "{\n              iVar6 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }\n            }" { (expression_statement "iVar6 = 4;" (assignment_expression "iVar6 = 4" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33f85;" (assignment_expression "pbVar10 = (byte *)0x33f85" identifier = (cast_expression "(byte *)0x33f85" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);" do (compound_statement "{\n                if (iVar6 == 0) break;\n                iVar6 = iVar6 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }\n              else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\nLAB_00021b5b:\n                unsignedp = 0;\n                uVar15 = 4;\n              }" { (labeled_statement "LAB_00021b5b:\n                unsignedp = 0;" statement_identifier : (expression_statement "unsignedp = 0;" (assignment_expression "unsignedp = 0" identifier = number_literal) ;)) (expression_statement "uVar15 = 4;" (assignment_expression "uVar15 = 4" identifier = number_literal) ;) }) (else_clause "else {\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }" else (compound_statement "{\n                iVar6 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }\nLAB_00021b6b:\n                unsignedp = 1;\n                uVar15 = 4;\n              }" { (expression_statement "iVar6 = 0xd;" (assignment_expression "iVar6 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33f7c;" (assignment_expression "pbVar10 = (byte *)0x33f7c" identifier = (cast_expression "(byte *)0x33f7c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);" do (compound_statement "{\n                  if (iVar6 == 0) break;\n                  iVar6 = iVar6 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n                  iVar6 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00021b5b;\n                  iVar6 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }\n                }" { (expression_statement "iVar6 = 5;" (assignment_expression "iVar6 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e51;" (assignment_expression "pbVar10 = (byte *)0x33e51" identifier = (cast_expression "(byte *)0x33e51" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);" do (compound_statement "{\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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_00021b5b;" if (parenthesized_expression "(bVar11)" ( identifier )) (goto_statement "goto LAB_00021b5b;" goto statement_identifier ;)) (expression_statement "iVar6 = 0xe;" (assignment_expression "iVar6 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);" do (compound_statement "{\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar6 == 0) break;\n                    iVar6 = iVar6 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  }" { (expression_statement "pbVar7 = pbVar8;" (assignment_expression "pbVar7 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar9 = pbVar10;" (assignment_expression "pbVar9 = pbVar10" identifier = identifier) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) ;) (expression_statement "pbVar10 = pbVar9;" (assignment_expression "pbVar10 = pbVar9" identifier = identifier) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\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                    iVar6 = strcmp((char *)__s1,"__int128");\n                    if (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto LAB_00021a23;\n                  }" { (expression_statement "iVar6 = strcmp((char *)__s1,"__int128");" (assignment_expression "iVar6 = 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 (iVar6 == 0) {\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }\n                    else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                      unsignedp = 0;\n                      uVar15 = 0x10;\n                    }" { (expression_statement "unsignedp = 0;" (assignment_expression "unsignedp = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0x10;" (assignment_expression "uVar15 = 0x10" identifier = number_literal) ;) }) (else_clause "else {\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }" else (compound_statement "{\n                      iVar6 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }\n                    }" { (expression_statement "iVar6 = strcmp((char *)__s1,"unsigned __int128");" (assignment_expression "iVar6 = 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 (iVar6 == 0) {\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }\n                      else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                        unsignedp = 1;\n                        uVar15 = 0x10;\n                      }" { (expression_statement "unsignedp = 1;" (assignment_expression "unsignedp = 1" identifier = number_literal) ;) (expression_statement "uVar15 = 0x10;" (assignment_expression "uVar15 = 0x10" identifier = number_literal) ;) }) (else_clause "else {\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }" else (compound_statement "{\n                        iVar6 = strcmp((char *)__s1,"short");\n                        if (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }\n                      }" { (expression_statement "iVar6 = strcmp((char *)__s1,"short");" (assignment_expression "iVar6 = 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 (iVar6 == 0) {\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }\n                        else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                          unsignedp = 0;\n                          uVar15 = 2;\n                        }" { (expression_statement "unsignedp = 0;" (assignment_expression "unsignedp = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 2;" (assignment_expression "uVar15 = 2" identifier = number_literal) ;) }) (else_clause "else {\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }" else (compound_statement "{\n                          iVar6 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }\n                        }" { (expression_statement "iVar6 = strcmp((char *)__s1,"unsigned short");" (assignment_expression "iVar6 = 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 (iVar6 == 0) {\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }\n                          else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                            unsignedp = 1;\n                            uVar15 = 2;\n                          }" { (expression_statement "unsignedp = 1;" (assignment_expression "unsignedp = 1" identifier = number_literal) ;) (expression_statement "uVar15 = 2;" (assignment_expression "uVar15 = 2" identifier = number_literal) ;) }) (else_clause "else {\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }" else (compound_statement "{\n                            iVar6 = strcmp((char *)__s1,"void");\n                            if (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }\n                            iVar6 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar6 == 0) goto LAB_00021b6b;\n                            iVar6 = strcmp((char *)__s1,"long long");\n                            if (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }\n                          }" { (expression_statement "iVar6 = strcmp((char *)__s1,"void");" (assignment_expression "iVar6 = 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 (iVar6 == 0) {\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                              pdVar4 = debug_make_void_type();\n                              goto LAB_00021a32;\n                            }" { (expression_statement "pdVar4 = debug_make_void_type();" (assignment_expression "pdVar4 = debug_make_void_type()" identifier = (call_expression "debug_make_void_type()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_00021a32;" goto statement_identifier ;) })) (expression_statement "iVar6 = strcmp((char *)__s1,"wchar_t");" (assignment_expression "iVar6 = 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 (iVar6 == 0) goto LAB_00021b6b;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00021b6b;" goto statement_identifier ;)) (expression_statement "iVar6 = strcmp((char *)__s1,"long long");" (assignment_expression "iVar6 = 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 (iVar6 == 0) {\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }\n                            else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                              unsignedp = 0;\n                              uVar15 = 8;\n                            }" { (expression_statement "unsignedp = 0;" (assignment_expression "unsignedp = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 8;" (assignment_expression "uVar15 = 8" identifier = number_literal) ;) }) (else_clause "else {\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }" else (compound_statement "{\n                              iVar6 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }\n                              unsignedp = 1;\n                              uVar15 = 8;\n                            }" { (expression_statement "iVar6 = strcmp((char *)__s1,"unsigned long long");" (assignment_expression "iVar6 = 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 (iVar6 != 0) {\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n                                iVar6 = strcmp((char *)__s1,"...");\n                                if (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }\n                                pdVar4 = (debug_type_conflict)0x0;\n                                pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);\n                                goto LAB_00021a32;\n                              }" { (expression_statement "iVar6 = strcmp((char *)__s1,"...");" (assignment_expression "iVar6 = 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 (iVar6 == 0) {\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                                  if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }\n                                  pcVar5 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }" { (if_statement "if (pvarargs != (bfd_boolean *)0x0) {\n                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\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                                    pdVar4 = (debug_type_conflict)0x0;\n                                    *pvarargs = 1;\n                                    goto LAB_00021a32;\n                                  }" { (expression_statement "pdVar4 = (debug_type_conflict)0x0;" (assignment_expression "pdVar4 = (debug_type_conflict)0x0" identifier = (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) ;) (expression_statement "*pvarargs = 1;" (assignment_expression "*pvarargs = 1" (pointer_expression "*pvarargs" * identifier) = number_literal) ;) (goto_statement "goto LAB_00021a32;" goto statement_identifier ;) })) (expression_statement "pcVar5 = "Unexpected demangled varargs\n";" (assignment_expression "pcVar5 = "Unexpected demangled varargs\n"" identifier = (string_literal ""Unexpected demangled varargs\n"" " string_content escape_sequence ")) ;) (expression_statement "pbVar7 = pbVar9;" (assignment_expression "pbVar7 = pbVar9" identifier = identifier) ;) }) (else_clause "else {\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }" else (compound_statement "{\n                                  pcVar5 = "Unrecognized demangled builtin type\n";\n                                }" { (expression_statement "pcVar5 = "Unrecognized demangled builtin type\n";" (assignment_expression "pcVar5 = "Unrecognized demangled builtin type\n"" identifier = (string_literal ""Unrecognized demangled builtin type\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "pdVar4 = (debug_type_conflict)0x0;" (assignment_expression "pdVar4 = (debug_type_conflict)0x0" identifier = (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) ;) (expression_statement "pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7);" (assignment_expression "pcVar5 = (char *)dcgettext(0,pcVar5,5,pbVar7)" identifier = (cast_expression "(char *)dcgettext(0,pcVar5,5,pbVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar5,5,pbVar7)" identifier (argument_list "(0,pcVar5,5,pbVar7)" ( number_literal , identifier , number_literal , identifier ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5);" (call_expression "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5)" identifier (argument_list "(*(FILE **)PTR_stderr_0003ffa8,pcVar5)" ( (pointer_expression "*(FILE **)PTR_stderr_0003ffa8" * (cast_expression "(FILE **)PTR_stderr_0003ffa8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier ))) ;) (goto_statement "goto LAB_00021a32;" goto statement_identifier ;) })) (expression_statement "unsignedp = 1;" (assignment_expression "unsignedp = 1" identifier = number_literal) ;) (expression_statement "uVar15 = 8;" (assignment_expression "uVar15 = 8" identifier = number_literal) ;) }))) }))) }))) }))) }))) (goto_statement "goto LAB_00021a23;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00021b6b:\n                unsignedp = 1;" statement_identifier : (expression_statement "unsignedp = 1;" (assignment_expression "unsignedp = 1" identifier = number_literal) ;)) (expression_statement "uVar15 = 4;" (assignment_expression "uVar15 = 4" identifier = number_literal) ;) }))) }))) (goto_statement "goto LAB_00021a23;" goto statement_identifier ;) })) (expression_statement "uVar15 = 0x10;" (assignment_expression "uVar15 = 0x10" identifier = number_literal) ;) }))) }))) (expression_statement "pdVar4 = debug_make_float_type(uVar15);" (assignment_expression "pdVar4 = debug_make_float_type(uVar15)" identifier = (call_expression "debug_make_float_type(uVar15)" identifier (argument_list "(uVar15)" ( identifier )))) ;) (labeled_statement "LAB_00021a32:\n      free(__s1);" statement_identifier : (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;)) (return_statement "return pdVar4;" return identifier ;) })) (expression_statement "pcVar5 = "Couldn\'t get demangled builtin type\n";" (assignment_expression "pcVar5 = "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 ")) ;) (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      pdVar3 = debug_make_void_type();\n    }\n    else {\n      in_stack_ffffffb8 = (stab_handle *)0x0;\n      pdVar3 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }\n    handle = stab_demangle_v3_arglist(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0);\n    if (handle == (debug_type_conflict *)0x0) {\n      return (debug_type)0x0;\n    }\n    pdVar4 = debug_make_function_type(handle,type,arg_types,(bfd_boolean)dhandle);\n    return pdVar4;" 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      pdVar3 = debug_make_void_type();\n    }\n    else {\n      in_stack_ffffffb8 = (stab_handle *)0x0;\n      pdVar3 = 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      pdVar3 = debug_make_void_type();\n    }" { (expression_statement "pdVar3 = debug_make_void_type();" (assignment_expression "pdVar3 = debug_make_void_type()" identifier = (call_expression "debug_make_void_type()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n      in_stack_ffffffb8 = (stab_handle *)0x0;\n      pdVar3 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }" else (compound_statement "{\n      in_stack_ffffffb8 = (stab_handle *)0x0;\n      pdVar3 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }" { (expression_statement "in_stack_ffffffb8 = (stab_handle *)0x0;" (assignment_expression "in_stack_ffffffb8 = (stab_handle *)0x0" identifier = (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar3 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);" (assignment_expression "pdVar3 = 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 (pdVar3 == (debug_type)0x0) {\n      return (debug_type)0x0;\n    }" if (parenthesized_expression "(pdVar3 == (debug_type)0x0)" ( (binary_expression "pdVar3 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" 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 "handle = stab_demangle_v3_arglist(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0);" (assignment_expression "handle = stab_demangle_v3_arglist(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0)" identifier = (call_expression "stab_demangle_v3_arglist(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0)" identifier (argument_list "(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0)" ( (pointer_expression "&alc" & identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (handle == (debug_type_conflict *)0x0) {\n      return (debug_type)0x0;\n    }" if (parenthesized_expression "(handle == (debug_type_conflict *)0x0)" ( (binary_expression "handle == (debug_type_conflict *)0x0" identifier == (cast_expression "(debug_type_conflict *)0x0" ( (type_descriptor "debug_type_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return (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 "pdVar4 = debug_make_function_type(handle,type,arg_types,(bfd_boolean)dhandle);" (assignment_expression "pdVar4 = debug_make_function_type(handle,type,arg_types,(bfd_boolean)dhandle)" identifier = (call_expression "debug_make_function_type(handle,type,arg_types,(bfd_boolean)dhandle)" identifier (argument_list "(handle,type,arg_types,(bfd_boolean)dhandle)" ( identifier , identifier , identifier , (cast_expression "(bfd_boolean)dhandle" ( (type_descriptor "bfd_boolean" type_identifier) ) identifier) )))) ;) (return_statement "return pdVar4;" return identifier ;)) })) (expression_statement "dVar16 = DEMANGLE_COMPONENT_TEMPLATE_PARAM;" (assignment_expression "dVar16 = DEMANGLE_COMPONENT_TEMPLATE_PARAM" identifier = identifier) ;) (expression_statement "pcVar5 = (char *)dcgettext(0,pcVar5,5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,pcVar5,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar5,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar5,5)" identifier (argument_list "(0,pcVar5,5)" ( number_literal , identifier , number_literal ))))) ;) (labeled_statement "LAB_000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5,dVar16);" statement_identifier : (expression_statement "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5,dVar16);" (call_expression "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar5,dVar16)" identifier (argument_list "(*(FILE **)PTR_stderr_0003ffa8,pcVar5,dVar16)" ( (pointer_expression "*(FILE **)PTR_stderr_0003ffa8" * (cast_expression "(FILE **)PTR_stderr_0003ffa8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier ))) ;)) (return_statement "return (debug_type)0x0;" return (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal) ;) })))
(translation_unit "int __regparm3\nFUN_000214b0(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,\n            undefined4 *param_5)\n\n{\n  size_t sVar1;\n  byte *__s1;\n  byte *pbVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar9;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  undefined *puVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 auStack_20 [3];\n  undefined4 uStack_14;\n  byte *pbVar8;\n  byte *pbVar10;\n  \n  bVar14 = 0;\n  uStack_14 = 0x214bd;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar16 = *param_3;\n  switch(uVar16) {\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }\n  uVar16 = 5;\n  pcVar6 = (char *)dcgettext(0,pcVar6,5);\ncode_r0x000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);\n  return 0;\n}\n\n" (function_definition "int __regparm3\nFUN_000214b0(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,\n            undefined4 *param_5)\n\n{\n  size_t sVar1;\n  byte *__s1;\n  byte *pbVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar9;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  undefined *puVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 auStack_20 [3];\n  undefined4 uStack_14;\n  byte *pbVar8;\n  byte *pbVar10;\n  \n  bVar14 = 0;\n  uStack_14 = 0x214bd;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar16 = *param_3;\n  switch(uVar16) {\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }\n  uVar16 = 5;\n  pcVar6 = (char *)dcgettext(0,pcVar6,5);\ncode_r0x000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);\n  return 0;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000214b0(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,\n            undefined4 *param_5)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,\n            undefined4 *param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  size_t sVar1;\n  byte *__s1;\n  byte *pbVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar9;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  undefined *puVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 auStack_20 [3];\n  undefined4 uStack_14;\n  byte *pbVar8;\n  byte *pbVar10;\n  \n  bVar14 = 0;\n  uStack_14 = 0x214bd;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar16 = *param_3;\n  switch(uVar16) {\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }\n  uVar16 = 5;\n  pcVar6 = (char *)dcgettext(0,pcVar6,5);\ncode_r0x000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);\n  return 0;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "byte *__s1;" type_identifier (pointer_declarator "*__s1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * 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 "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "undefined4 auStack_20 [3];" type_identifier (array_declarator "auStack_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x214bd;" (assignment_expression "uStack_14 = 0x214bd" 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 "uVar16 = *param_3;" (assignment_expression "uVar16 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (switch_statement "switch(uVar16) {\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }" switch (parenthesized_expression "(uVar16)" ( identifier )) (compound_statement "{\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }" { (case_statement "case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }" case number_literal : (if_statement "if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }" if (parenthesized_expression "((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0))" ( (binary_expression "(param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)" (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) && (parenthesized_expression "(piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)" ( (comma_expression "piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0" (assignment_expression "piVar3 = (int *)FUN_000205d0(param_1,param_4)" identifier = (cast_expression "(int *)FUN_000205d0(param_1,param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000205d0(param_1,param_4)" identifier (argument_list "(param_1,param_4)" ( identifier , identifier ))))) , (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }" { (expression_statement "iVar4 = *piVar3;" (assignment_expression "iVar4 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (while_statement "while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }" while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }" { (expression_statement "iVar4 = FUN_00020610(param_1,iVar4);" (assignment_expression "iVar4 = FUN_00020610(param_1,iVar4)" identifier = (call_expression "FUN_00020610(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar6 = (char *)FUN_00020440(param_1,iVar4);" (assignment_expression "pcVar6 = (char *)FUN_00020440(param_1,iVar4)" identifier = (cast_expression "(char *)FUN_00020440(param_1,iVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00020440(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier ))))) ;) (if_statement "if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }" if (parenthesized_expression "(((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0))" ( (binary_expression "((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)" (parenthesized_expression "((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3]))" ( (binary_expression "(pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])" (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(sVar1 = strlen(pcVar6), sVar1 == param_3[3])" ( (comma_expression "sVar1 = strlen(pcVar6), sVar1 == param_3[3]" (assignment_expression "sVar1 = strlen(pcVar6)" identifier = (call_expression "strlen(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) , (binary_expression "sVar1 == param_3[3]" identifier == (subscript_expression "param_3[3]" identifier [ number_literal ]))) ))) )) && (parenthesized_expression "(iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)" ( (comma_expression "iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0" (assignment_expression "iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1)" identifier = (call_expression "strncmp(pcVar6,(char *)param_3[2],sVar1)" identifier (argument_list "(pcVar6,(char *)param_3[2],sVar1)" ( identifier , (cast_expression "(char *)param_3[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[2]" identifier [ number_literal ])) , identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          return iVar4;\n        }" { (return_statement "return iVar4;" return identifier ;) })) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = *piVar3;" (assignment_expression "iVar4 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) })) }))) (case_statement "case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_00021390(param_3[3],0);" (assignment_expression "iVar4 = FUN_00021390(param_3[3],0)" identifier = (call_expression "FUN_00021390(param_3[3],0)" identifier (argument_list "(param_3[3],0)" ( (subscript_expression "param_3[3]" identifier [ number_literal ]) , number_literal )))) ;) (return_statement "return iVar4;" return identifier ;)) (case_statement "case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_000214b0(param_4,0);" (assignment_expression "iVar4 = FUN_000214b0(param_4,0)" identifier = (call_expression "FUN_000214b0(param_4,0)" identifier (argument_list "(param_4,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar4 = FUN_000214b0(iVar4,0);" (assignment_expression "iVar4 = FUN_000214b0(iVar4,0)" identifier = (call_expression "FUN_000214b0(iVar4,0)" identifier (argument_list "(iVar4,0)" ( identifier , number_literal )))) ;) (return_statement "return iVar4;" return identifier ;)) (case_statement "default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;" default : (expression_statement "pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);" (assignment_expression "pcVar6 = (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 ))))) ;) (goto_statement "goto code_r0x000219f7;" goto statement_identifier ;)) (case_statement "case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;" case number_literal : (expression_statement "pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);" (assignment_expression "pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20)" identifier = (cast_expression "(char *)func_0x00013040(3,param_3,0x14,auStack_20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "func_0x00013040(3,param_3,0x14,auStack_20)" identifier (argument_list "(3,param_3,0x14,auStack_20)" ( number_literal , identifier , number_literal , identifier ))))) ;) (if_statement "if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }" if (parenthesized_expression "(pcVar6 != (char *)0x0)" ( (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }" { (expression_statement "sVar1 = strlen(pcVar6);" (assignment_expression "sVar1 = strlen(pcVar6)" identifier = (call_expression "strlen(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) ;) (expression_statement "iVar4 = FUN_00021390(sVar1,9);" (assignment_expression "iVar4 = FUN_00021390(sVar1,9)" identifier = (call_expression "FUN_00021390(sVar1,9)" identifier (argument_list "(sVar1,9)" ( identifier , number_literal )))) ;) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (return_statement "return iVar4;" return identifier ;) })) (expression_statement "pcVar6 = "Failed to print demangled template\n";" (assignment_expression "pcVar6 = "Failed to print demangled template\n"" identifier = (string_literal ""Failed to print demangled template\n"" " string_content escape_sequence ")) ;) (break_statement "break;" break ;)) (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    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;" case number_literal : (expression_statement "iVar4 = FUN_000214b0(0,0);" (assignment_expression "iVar4 = FUN_000214b0(0,0)" identifier = (call_expression "FUN_000214b0(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }" { (switch_statement "switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }" switch (parenthesized_expression "(*param_3)" ( (pointer_expression "*param_3" * identifier) )) (compound_statement "{\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }" { (case_statement "case 0x19:\n        return iVar4;" case number_literal : (return_statement "return iVar4;" return identifier ;)) (case_statement "case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_0001fd20(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001fd20(param_1,iVar4)" identifier = (call_expression "FUN_0001fd20(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier )))) ;) (return_statement "return iVar4;" return identifier ;)) (case_statement "case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_0001fcf0(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001fcf0(param_1,iVar4)" identifier = (call_expression "FUN_0001fcf0(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier )))) ;) (return_statement "return iVar4;" return identifier ;)) (case_statement "default:\n                    \n        abort();" default : (expression_statement "abort();" (call_expression "abort()" identifier (argument_list "()" ( ))) ;)) (case_statement "case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_0001f9b0(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001f9b0(param_1,iVar4)" identifier = (call_expression "FUN_0001f9b0(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier )))) ;) (return_statement "return iVar4;" return identifier ;)) (case_statement "case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;" case number_literal : (expression_statement "iVar4 = FUN_0001fa60(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001fa60(param_1,iVar4)" identifier = (call_expression "FUN_0001fa60(param_1,iVar4)" identifier (argument_list "(param_1,iVar4)" ( identifier , identifier )))) ;) (return_statement "return iVar4;" return identifier ;)) })) })) (return_statement "return 0;" return number_literal ;)) (case_statement "case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;" case number_literal : (expression_statement "pbVar2 = (byte *)auStack_20;" (assignment_expression "pbVar2 = (byte *)auStack_20" identifier = (cast_expression "(byte *)auStack_20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "__s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);" (assignment_expression "__s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2)" identifier = (cast_expression "(byte *)func_0x00013040(3,param_3,0x14,pbVar2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "func_0x00013040(3,param_3,0x14,pbVar2)" identifier (argument_list "(3,param_3,0x14,pbVar2)" ( number_literal , identifier , number_literal , identifier ))))) ;) (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      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }" { (expression_statement "iVar4 = 0xc;" (assignment_expression "iVar4 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e24;" (assignment_expression "pbVar10 = (byte *)0x33e24" identifier = (cast_expression "(byte *)0x33e24" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);" do (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar10;" (assignment_expression "bVar11 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar8 == *pbVar10;" (assignment_expression "bVar13 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }" { (labeled_statement "code_r0x00021a18:\n        uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;) (labeled_statement "code_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);" statement_identifier : (expression_statement "iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);" (assignment_expression "iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2)" identifier = (call_expression "FUN_0001f820(param_1,uVar16,uVar17,pbVar2)" identifier (argument_list "(param_1,uVar16,uVar17,pbVar2)" ( identifier , identifier , identifier , identifier )))) ;)) (goto_statement "goto code_r0x00021a32;" goto statement_identifier ;) })) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = &UNK_00033f2e;" (assignment_expression "pbVar10 = &UNK_00033f2e" identifier = (pointer_expression "&UNK_00033f2e" & identifier)) ;) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" do (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }" { (expression_statement "iVar4 = FUN_0001f850(param_1,1);" (assignment_expression "iVar4 = FUN_0001f850(param_1,1)" identifier = (call_expression "FUN_0001f850(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal )))) ;) (goto_statement "goto code_r0x00021a32;" goto statement_identifier ;) })) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e2b;" (assignment_expression "pbVar10 = (byte *)0x33e2b" identifier = (cast_expression "(byte *)0x33e2b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" do (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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 code_r0x00021a18;" if (parenthesized_expression "(bVar11)" ( identifier )) (goto_statement "goto code_r0x00021a18;" goto statement_identifier ;)) (expression_statement "iVar4 = 7;" (assignment_expression "iVar4 = 7" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e66;" (assignment_expression "pbVar10 = (byte *)0x33e66" identifier = (cast_expression "(byte *)0x33e66" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" do (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\ncode_r0x00021b08:\n        uVar16 = 8;\n      }" { (labeled_statement "code_r0x00021b08:\n        uVar16 = 8;" statement_identifier : (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" identifier = number_literal) ;)) }) (else_clause "else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }" else (compound_statement "{\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }" { (expression_statement "iVar4 = 0xc;" (assignment_expression "iVar4 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);" do (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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 code_r0x00021b08;" if (parenthesized_expression "(bVar11)" ( identifier )) (goto_statement "goto code_r0x00021b08;" goto statement_identifier ;)) (expression_statement "iVar4 = 6;" (assignment_expression "iVar4 = 6" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);" do (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n          uVar16 = 4;\n        }" { (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" identifier = number_literal) ;) }) (else_clause "else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }" else (compound_statement "{\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }" { (expression_statement "iVar4 = 0xb;" (assignment_expression "iVar4 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);" do (compound_statement "{\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }" { (expression_statement "iVar4 = 0xe;" (assignment_expression "iVar4 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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 (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);" do (compound_statement "{\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n              uVar17 = 1;\n              uVar16 = 1;\n            }" { (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;) }) (else_clause "else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }" else (compound_statement "{\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }" { (expression_statement "iVar4 = 4;" (assignment_expression "iVar4 = 4" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33f85;" (assignment_expression "pbVar10 = (byte *)0x33f85" identifier = (cast_expression "(byte *)0x33f85" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);" do (compound_statement "{\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }" { (labeled_statement "code_r0x00021b5b:\n                uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" identifier = number_literal) ;) }) (else_clause "else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }" else (compound_statement "{\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }" { (expression_statement "iVar4 = 0xd;" (assignment_expression "iVar4 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33f7c;" (assignment_expression "pbVar10 = (byte *)0x33f7c" identifier = (cast_expression "(byte *)0x33f7c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);" do (compound_statement "{\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }" { (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x33e51;" (assignment_expression "pbVar10 = (byte *)0x33e51" identifier = (cast_expression "(byte *)0x33e51" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);" do (compound_statement "{\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  }" { (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" 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 code_r0x00021b5b;" if (parenthesized_expression "(bVar11)" ( identifier )) (goto_statement "goto code_r0x00021b5b;" goto statement_identifier ;)) (expression_statement "iVar4 = 0xe;" (assignment_expression "iVar4 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __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                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);" do (compound_statement "{\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  }" { (expression_statement "pbVar7 = pbVar8;" (assignment_expression "pbVar7 = pbVar8" identifier = identifier) ;) (expression_statement "pbVar9 = pbVar10;" (assignment_expression "pbVar9 = pbVar10" identifier = identifier) ;) (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" identifier + (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) ;) (expression_statement "pbVar10 = pbVar9;" (assignment_expression "pbVar10 = pbVar9" identifier = identifier) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\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                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }" { (expression_statement "iVar4 = strcmp((char *)__s1,"__int128");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 0x10;" (assignment_expression "uVar16 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }" else (compound_statement "{\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }" { (expression_statement "iVar4 = strcmp((char *)__s1,"unsigned __int128");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }" { (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (expression_statement "uVar16 = 0x10;" (assignment_expression "uVar16 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }" else (compound_statement "{\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }" { (expression_statement "iVar4 = strcmp((char *)__s1,"short");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 2;" (assignment_expression "uVar16 = 2" identifier = number_literal) ;) (expression_statement "pbVar2 = pbVar7;" (assignment_expression "pbVar2 = pbVar7" identifier = identifier) ;) }) (else_clause "else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }" else (compound_statement "{\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }" { (expression_statement "iVar4 = strcmp((char *)__s1,"unsigned short");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }" { (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (expression_statement "uVar16 = 2;" (assignment_expression "uVar16 = 2" identifier = number_literal) ;) (expression_statement "pbVar2 = __s1;" (assignment_expression "pbVar2 = __s1" identifier = identifier) ;) }) (else_clause "else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }" else (compound_statement "{\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }" { (expression_statement "puVar15 = &UNK_00033e56;" (assignment_expression "puVar15 = &UNK_00033e56" identifier = (pointer_expression "&UNK_00033e56" & identifier)) ;) (expression_statement "iVar5 = iVar4;" (assignment_expression "iVar5 = iVar4" identifier = identifier) ;) (expression_statement "pbVar2 = (byte *)strcmp((char *)__s1,"void");" (assignment_expression "pbVar2 = (byte *)strcmp((char *)__s1,"void")" identifier = (cast_expression "(byte *)strcmp((char *)__s1,"void")" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (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 (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }" if (parenthesized_expression "(pbVar2 == (byte *)0x0)" ( (binary_expression "pbVar2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }" { (expression_statement "iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);" (assignment_expression "iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5)" identifier = (call_expression "FUN_0001f810(param_1,puVar15,iVar4,iVar5)" identifier (argument_list "(param_1,puVar15,iVar4,iVar5)" ( identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto code_r0x00021a32;" goto statement_identifier ;) })) (expression_statement "iVar4 = strcmp((char *)__s1,"wchar_t");" (assignment_expression "iVar4 = 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 (iVar4 == 0) goto code_r0x00021b6b;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00021b6b;" goto statement_identifier ;)) (expression_statement "iVar4 = strcmp((char *)__s1,"long long");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" else (compound_statement "{\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" { (expression_statement "iVar4 = strcmp((char *)__s1,"unsigned long long");" (assignment_expression "iVar4 = 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 (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }" { (expression_statement "iVar4 = strcmp((char *)__s1,"...");" (assignment_expression "iVar4 = 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 (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }" { (if_statement "if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\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                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "*param_5 = 1;" (assignment_expression "*param_5 = 1" (pointer_expression "*param_5" * identifier) = number_literal) ;) (goto_statement "goto code_r0x00021a32;" goto statement_identifier ;) })) (expression_statement "pcVar6 = "Unexpected demangled varargs\n";" (assignment_expression "pcVar6 = "Unexpected demangled varargs\n"" identifier = (string_literal ""Unexpected demangled varargs\n"" " string_content escape_sequence ")) ;) (expression_statement "pbVar7 = pbVar9;" (assignment_expression "pbVar7 = pbVar9" identifier = identifier) ;) }) (else_clause "else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }" else (compound_statement "{\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }" { (expression_statement "pcVar6 = "Unrecognized demangled builtin type\n";" (assignment_expression "pcVar6 = "Unrecognized demangled builtin type\n"" identifier = (string_literal ""Unrecognized demangled builtin type\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);" (assignment_expression "pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7)" identifier = (cast_expression "(char *)dcgettext(0,pcVar6,5,pbVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar6,5,pbVar7)" identifier (argument_list "(0,pcVar6,5,pbVar7)" ( number_literal , identifier , number_literal , identifier ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);" (call_expression "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6)" identifier (argument_list "(*(FILE **)PTR_stderr_0003ffa8,pcVar6)" ( (pointer_expression "*(FILE **)PTR_stderr_0003ffa8" * (cast_expression "(FILE **)PTR_stderr_0003ffa8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier ))) ;) (goto_statement "goto code_r0x00021a32;" goto statement_identifier ;) })) (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) }))) }))) }))) (goto_statement "goto code_r0x00021a23;" goto statement_identifier ;) })) })) (labeled_statement "code_r0x00021b6b:\n                uVar17 = 1;" statement_identifier : (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;)) (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" identifier = number_literal) ;) }))) }))) (goto_statement "goto code_r0x00021a23;" goto statement_identifier ;) })) (expression_statement "uVar16 = 0x10;" (assignment_expression "uVar16 = 0x10" identifier = number_literal) ;) }))) }))) (expression_statement "iVar4 = FUN_0001f840(param_1,uVar16);" (assignment_expression "iVar4 = FUN_0001f840(param_1,uVar16)" identifier = (call_expression "FUN_0001f840(param_1,uVar16)" identifier (argument_list "(param_1,uVar16)" ( identifier , identifier )))) ;) (labeled_statement "code_r0x00021a32:\n      free(__s1);" statement_identifier : (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;)) (return_statement "return iVar4;" return identifier ;) })) (expression_statement "pcVar6 = "Couldn\'t get demangled builtin type\n";" (assignment_expression "pcVar6 = "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 ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;" case number_literal : (if_statement "if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }" if (parenthesized_expression "(param_3[2] == 0)" ( (binary_expression "param_3[2] == 0" (subscript_expression "param_3[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar4 = FUN_0001f810(param_1);\n    }" { (expression_statement "iVar4 = FUN_0001f810(param_1);" (assignment_expression "iVar4 = FUN_0001f810(param_1)" identifier = (call_expression "FUN_0001f810(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) }) (else_clause "else {\n      iVar4 = FUN_000214b0(0,0);\n    }" else (compound_statement "{\n      iVar4 = FUN_000214b0(0,0);\n    }" { (expression_statement "iVar4 = FUN_000214b0(0,0);" (assignment_expression "iVar4 = FUN_000214b0(0,0)" identifier = (call_expression "FUN_000214b0(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal )))) ;) }))) (if_statement "if (iVar4 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar5 = FUN_00021c10(auStack_20);" (assignment_expression "iVar5 = FUN_00021c10(auStack_20)" identifier = (call_expression "FUN_00021c10(auStack_20)" identifier (argument_list "(auStack_20)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);" (assignment_expression "iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0])" identifier = (call_expression "FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0])" identifier (argument_list "(param_1,iVar4,iVar5,auStack_20[0])" ( identifier , identifier , identifier , (subscript_expression "auStack_20[0]" identifier [ number_literal ]) )))) ;) (return_statement "return iVar4;" return identifier ;)) })) (expression_statement "uVar16 = 5;" (assignment_expression "uVar16 = 5" identifier = number_literal) ;) (expression_statement "pcVar6 = (char *)dcgettext(0,pcVar6,5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,pcVar6,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar6,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar6,5)" identifier (argument_list "(0,pcVar6,5)" ( number_literal , identifier , number_literal ))))) ;) (labeled_statement "code_r0x000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);" statement_identifier : (expression_statement "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);" (call_expression "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16)" identifier (argument_list "(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16)" ( (pointer_expression "*(FILE **)PTR_stderr_0003ffa8" * (cast_expression "(FILE **)PTR_stderr_0003ffa8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier , identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression 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 TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == (subscript_expression IDENT [ LIT ]))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) }))) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (return_statement return IDENT ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (return_statement return IDENT ;)) (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 ))))) ;) (goto_statement goto statement_identifier ;)) (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 , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (break_statement break ;)) (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 ( 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 ;)) })) })) (return_statement return LIT ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (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 = 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 ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;)) (goto_statement goto statement_identifier ;) })) (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 ( 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 *)) ) 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 = 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 *)) ) (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 )) (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 = 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 *)) ) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = 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 ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = 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 { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (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)) ;) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) 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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") ))))) ;) (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 , IDENT , IDENT , 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) )) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (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 , IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) }))) }))) }))) }))) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence ")) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (return_statement return IDENT ;)) })) (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 ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , IDENT , IDENT ))) ;)) (return_statement return LIT ;) })))
(function_definition "int __regparm3\nFUN_000214b0(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,\n            undefined4 *param_5)\n\n{\n  size_t sVar1;\n  byte *__s1;\n  byte *pbVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar9;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  undefined *puVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 auStack_20 [3];\n  undefined4 uStack_14;\n  byte *pbVar8;\n  byte *pbVar10;\n  \n  bVar14 = 0;\n  uStack_14 = 0x214bd;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar16 = *param_3;\n  switch(uVar16) {\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }\n  uVar16 = 5;\n  pcVar6 = (char *)dcgettext(0,pcVar6,5);\ncode_r0x000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);\n  return 0;\n}" (primitive_type "int") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000214b0(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,\n            undefined4 *param_5)" (identifier "FUN_000214b0") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 *param_3,int param_4,\n            undefined4 *param_5)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 *param_3" (type_identifier "undefined4") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 *param_5" (type_identifier "undefined4") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) () ")"))) (compound_statement "{\n  size_t sVar1;\n  byte *__s1;\n  byte *pbVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  byte *pbVar9;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  undefined *puVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 auStack_20 [3];\n  undefined4 uStack_14;\n  byte *pbVar8;\n  byte *pbVar10;\n  \n  bVar14 = 0;\n  uStack_14 = 0x214bd;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar16 = *param_3;\n  switch(uVar16) {\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }\n  uVar16 = 5;\n  pcVar6 = (char *)dcgettext(0,pcVar6,5);\ncode_r0x000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);\n  return 0;\n}" ({ "{") (declaration "size_t sVar1;" (primitive_type "size_t") (identifier "sVar1") (; ";")) (declaration "byte *__s1;" (type_identifier "byte") (pointer_declarator "*__s1" (* "*") (identifier "__s1")) (; ";")) (declaration "byte *pbVar2;" (type_identifier "byte") (pointer_declarator "*pbVar2" (* "*") (identifier "pbVar2")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "byte *pbVar7;" (type_identifier "byte") (pointer_declarator "*pbVar7" (* "*") (identifier "pbVar7")) (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "bool bVar11;" (primitive_type "bool") (identifier "bVar11") (; ";")) (declaration "bool bVar12;" (primitive_type "bool") (identifier "bVar12") (; ";")) (declaration "bool bVar13;" (primitive_type "bool") (identifier "bVar13") (; ";")) (declaration "byte bVar14;" (type_identifier "byte") (identifier "bVar14") (; ";")) (declaration "undefined *puVar15;" (type_identifier "undefined") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "undefined4 uVar17;" (type_identifier "undefined4") (identifier "uVar17") (; ";")) (declaration "undefined4 auStack_20 [3];" (type_identifier "undefined4") (array_declarator "auStack_20 [3]" (identifier "auStack_20") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "byte *pbVar10;" (type_identifier "byte") (pointer_declarator "*pbVar10" (* "*") (identifier "pbVar10")) (; ";")) (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" (identifier "bVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x214bd;" (assignment_expression "uStack_14 = 0x214bd" (identifier "uStack_14") (= "=") (number_literal "0x214bd")) (; ";")) (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 "uVar16 = *param_3;" (assignment_expression "uVar16 = *param_3" (identifier "uVar16") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (switch_statement "switch(uVar16) {\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }" (switch "switch") (parenthesized_expression "(uVar16)" (( "(") (identifier "uVar16") () ")")) (compound_statement "{\n  case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }\n  case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;\n  case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;\n  default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;\n  case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;\n  case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;\n  case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;\n  }" ({ "{") (case_statement "case 0:\n    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }" (case "case") (number_literal "0") (: ":") (if_statement "if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }" (if "if") (parenthesized_expression "((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0))" (( "(") (binary_expression "(param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)" (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)" (( "(") (comma_expression "piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0" (assignment_expression "piVar3 = (int *)FUN_000205d0(param_1,param_4)" (identifier "piVar3") (= "=") (cast_expression "(int *)FUN_000205d0(param_1,param_4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000205d0(param_1,param_4)" (identifier "FUN_000205d0") (argument_list "(param_1,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_4") () ")"))))) (, ",") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      iVar4 = *piVar3;\n      while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }\n    }" ({ "{") (expression_statement "iVar4 = *piVar3;" (assignment_expression "iVar4 = *piVar3" (identifier "iVar4") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (while_statement "while (iVar4 != 0) {\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }" (while "while") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar4 = FUN_00020610(param_1,iVar4);\n        if (iVar4 == 0) {\n          return 0;\n        }\n        pcVar6 = (char *)FUN_00020440(param_1,iVar4);\n        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }\n        piVar3 = piVar3 + 1;\n        iVar4 = *piVar3;\n      }" ({ "{") (expression_statement "iVar4 = FUN_00020610(param_1,iVar4);" (assignment_expression "iVar4 = FUN_00020610(param_1,iVar4)" (identifier "iVar4") (= "=") (call_expression "FUN_00020610(param_1,iVar4)" (identifier "FUN_00020610") (argument_list "(param_1,iVar4)" (( "(") (identifier "param_1") (, ",") (identifier "iVar4") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "pcVar6 = (char *)FUN_00020440(param_1,iVar4);" (assignment_expression "pcVar6 = (char *)FUN_00020440(param_1,iVar4)" (identifier "pcVar6") (= "=") (cast_expression "(char *)FUN_00020440(param_1,iVar4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00020440(param_1,iVar4)" (identifier "FUN_00020440") (argument_list "(param_1,iVar4)" (( "(") (identifier "param_1") (, ",") (identifier "iVar4") () ")"))))) (; ";")) (if_statement "if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {\n          return iVar4;\n        }" (if "if") (parenthesized_expression "(((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0))" (( "(") (binary_expression "((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&\n           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)" (parenthesized_expression "((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3]))" (( "(") (binary_expression "(pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])" (parenthesized_expression "(pcVar6 != (char *)0x0)" (( "(") (binary_expression "pcVar6 != (char *)0x0" (identifier "pcVar6") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(sVar1 = strlen(pcVar6), sVar1 == param_3[3])" (( "(") (comma_expression "sVar1 = strlen(pcVar6), sVar1 == param_3[3]" (assignment_expression "sVar1 = strlen(pcVar6)" (identifier "sVar1") (= "=") (call_expression "strlen(pcVar6)" (identifier "strlen") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")")))) (, ",") (binary_expression "sVar1 == param_3[3]" (identifier "sVar1") (== "==") (subscript_expression "param_3[3]" (identifier "param_3") ([ "[") (number_literal "3") (] "]")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)" (( "(") (comma_expression "iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0" (assignment_expression "iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1)" (identifier "iVar5") (= "=") (call_expression "strncmp(pcVar6,(char *)param_3[2],sVar1)" (identifier "strncmp") (argument_list "(pcVar6,(char *)param_3[2],sVar1)" (( "(") (identifier "pcVar6") (, ",") (cast_expression "(char *)param_3[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]"))) (, ",") (identifier "sVar1") () ")")))) (, ",") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          return iVar4;\n        }" ({ "{") (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";")) (} "}"))) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" (identifier "piVar3") (= "=") (binary_expression "piVar3 + 1" (identifier "piVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = *piVar3;" (assignment_expression "iVar4 = *piVar3" (identifier "iVar4") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (} "}"))) (} "}")))) (case_statement "case 0x18:\n    iVar4 = FUN_00021390(param_3[3],0);\n    return iVar4;" (case "case") (number_literal "0x18") (: ":") (expression_statement "iVar4 = FUN_00021390(param_3[3],0);" (assignment_expression "iVar4 = FUN_00021390(param_3[3],0)" (identifier "iVar4") (= "=") (call_expression "FUN_00021390(param_3[3],0)" (identifier "FUN_00021390") (argument_list "(param_3[3],0)" (( "(") (subscript_expression "param_3[3]" (identifier "param_3") ([ "[") (number_literal "3") (] "]")) (, ",") (number_literal "0") () ")")))) (; ";")) (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";"))) (case_statement "case 1:\n    iVar4 = FUN_000214b0(param_4,0);\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_000214b0(iVar4,0);\n    return iVar4;" (case "case") (number_literal "1") (: ":") (expression_statement "iVar4 = FUN_000214b0(param_4,0);" (assignment_expression "iVar4 = FUN_000214b0(param_4,0)" (identifier "iVar4") (= "=") (call_expression "FUN_000214b0(param_4,0)" (identifier "FUN_000214b0") (argument_list "(param_4,0)" (( "(") (identifier "param_4") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar4 = FUN_000214b0(iVar4,0);" (assignment_expression "iVar4 = FUN_000214b0(iVar4,0)" (identifier "iVar4") (= "=") (call_expression "FUN_000214b0(iVar4,0)" (identifier "FUN_000214b0") (argument_list "(iVar4,0)" (( "(") (identifier "iVar4") (, ",") (number_literal "0") () ")")))) (; ";")) (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";"))) (case_statement "default:\n    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    goto code_r0x000219f7;" (default "default") (: ":") (expression_statement "pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5)" (identifier "pcVar6") (= "=") (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") () ")"))))) (; ";")) (goto_statement "goto code_r0x000219f7;" (goto "goto") (statement_identifier "code_r0x000219f7") (; ";"))) (case_statement "case 4:\n    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);\n    if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }\n    pcVar6 = "Failed to print demangled template\n";\n    break;" (case "case") (number_literal "4") (: ":") (expression_statement "pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);" (assignment_expression "pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20)" (identifier "pcVar6") (= "=") (cast_expression "(char *)func_0x00013040(3,param_3,0x14,auStack_20)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "func_0x00013040(3,param_3,0x14,auStack_20)" (identifier "func_0x00013040") (argument_list "(3,param_3,0x14,auStack_20)" (( "(") (number_literal "3") (, ",") (identifier "param_3") (, ",") (number_literal "0x14") (, ",") (identifier "auStack_20") () ")"))))) (; ";")) (if_statement "if (pcVar6 != (char *)0x0) {\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }" (if "if") (parenthesized_expression "(pcVar6 != (char *)0x0)" (( "(") (binary_expression "pcVar6 != (char *)0x0" (identifier "pcVar6") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      sVar1 = strlen(pcVar6);\n      iVar4 = FUN_00021390(sVar1,9);\n      free(pcVar6);\n      return iVar4;\n    }" ({ "{") (expression_statement "sVar1 = strlen(pcVar6);" (assignment_expression "sVar1 = strlen(pcVar6)" (identifier "sVar1") (= "=") (call_expression "strlen(pcVar6)" (identifier "strlen") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")")))) (; ";")) (expression_statement "iVar4 = FUN_00021390(sVar1,9);" (assignment_expression "iVar4 = FUN_00021390(sVar1,9)" (identifier "iVar4") (= "=") (call_expression "FUN_00021390(sVar1,9)" (identifier "FUN_00021390") (argument_list "(sVar1,9)" (( "(") (identifier "sVar1") (, ",") (number_literal "9") () ")")))) (; ";")) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" (identifier "free") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";")) (} "}"))) (expression_statement "pcVar6 = "Failed to print demangled template\n";" (assignment_expression "pcVar6 = "Failed to print demangled template\n"" (identifier "pcVar6") (= "=") (string_literal ""Failed to print demangled template\n"" (" """) (string_content "Failed to print demangled template") (escape_sequence "\n") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (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    iVar4 = FUN_000214b0(0,0);\n    if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }\n    return 0;" (case "case") (number_literal "0x23") (: ":") (expression_statement "iVar4 = FUN_000214b0(0,0);" (assignment_expression "iVar4 = FUN_000214b0(0,0)" (identifier "iVar4") (= "=") (call_expression "FUN_000214b0(0,0)" (identifier "FUN_000214b0") (argument_list "(0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }\n    }" ({ "{") (switch_statement "switch(*param_3) {\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }" (switch "switch") (parenthesized_expression "(*param_3)" (( "(") (pointer_expression "*param_3" (* "*") (identifier "param_3")) () ")")) (compound_statement "{\n      case 0x19:\n        return iVar4;\n      case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;\n      case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;\n      default:\n                    \n        abort();\n      case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;\n      case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;\n      }" ({ "{") (case_statement "case 0x19:\n        return iVar4;" (case "case") (number_literal "0x19") (: ":") (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";"))) (case_statement "case 0x1a:\n        iVar4 = FUN_0001fd20(param_1,iVar4);\n        return iVar4;" (case "case") (number_literal "0x1a") (: ":") (expression_statement "iVar4 = FUN_0001fd20(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001fd20(param_1,iVar4)" (identifier "iVar4") (= "=") (call_expression "FUN_0001fd20(param_1,iVar4)" (identifier "FUN_0001fd20") (argument_list "(param_1,iVar4)" (( "(") (identifier "param_1") (, ",") (identifier "iVar4") () ")")))) (; ";")) (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";"))) (case_statement "case 0x1b:\n        iVar4 = FUN_0001fcf0(param_1,iVar4);\n        return iVar4;" (case "case") (number_literal "0x1b") (: ":") (expression_statement "iVar4 = FUN_0001fcf0(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001fcf0(param_1,iVar4)" (identifier "iVar4") (= "=") (call_expression "FUN_0001fcf0(param_1,iVar4)" (identifier "FUN_0001fcf0") (argument_list "(param_1,iVar4)" (( "(") (identifier "param_1") (, ",") (identifier "iVar4") () ")")))) (; ";")) (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";"))) (case_statement "default:\n                    \n        abort();" (default "default") (: ":") (expression_statement "abort();" (call_expression "abort()" (identifier "abort") (argument_list "()" (( "(") () ")"))) (; ";"))) (case_statement "case 0x22:\n        iVar4 = FUN_0001f9b0(param_1,iVar4);\n        return iVar4;" (case "case") (number_literal "0x22") (: ":") (expression_statement "iVar4 = FUN_0001f9b0(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001f9b0(param_1,iVar4)" (identifier "iVar4") (= "=") (call_expression "FUN_0001f9b0(param_1,iVar4)" (identifier "FUN_0001f9b0") (argument_list "(param_1,iVar4)" (( "(") (identifier "param_1") (, ",") (identifier "iVar4") () ")")))) (; ";")) (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";"))) (case_statement "case 0x23:\n        iVar4 = FUN_0001fa60(param_1,iVar4);\n        return iVar4;" (case "case") (number_literal "0x23") (: ":") (expression_statement "iVar4 = FUN_0001fa60(param_1,iVar4);" (assignment_expression "iVar4 = FUN_0001fa60(param_1,iVar4)" (identifier "iVar4") (= "=") (call_expression "FUN_0001fa60(param_1,iVar4)" (identifier "FUN_0001fa60") (argument_list "(param_1,iVar4)" (( "(") (identifier "param_1") (, ",") (identifier "iVar4") () ")")))) (; ";")) (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";"))) (} "}"))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";"))) (case_statement "case 0x27:\n    pbVar2 = (byte *)auStack_20;\n    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }\n    pcVar6 = "Couldn\'t get demangled builtin type\n";\n    break;" (case "case") (number_literal "0x27") (: ":") (expression_statement "pbVar2 = (byte *)auStack_20;" (assignment_expression "pbVar2 = (byte *)auStack_20" (identifier "pbVar2") (= "=") (cast_expression "(byte *)auStack_20" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_20"))) (; ";")) (expression_statement "__s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);" (assignment_expression "__s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2)" (identifier "__s1") (= "=") (cast_expression "(byte *)func_0x00013040(3,param_3,0x14,pbVar2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "func_0x00013040(3,param_3,0x14,pbVar2)" (identifier "func_0x00013040") (argument_list "(3,param_3,0x14,pbVar2)" (( "(") (number_literal "3") (, ",") (identifier "param_3") (, ",") (number_literal "0x14") (, ",") (identifier "pbVar2") () ")"))))) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = __s1 == (byte *)0x0;" (assignment_expression "bVar13 = __s1 == (byte *)0x0" (identifier "bVar13") (= "=") (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 (!bVar13) {\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }" (if "if") (parenthesized_expression "(!bVar13)" (( "(") (unary_expression "!bVar13" (! "!") (identifier "bVar13")) () ")")) (compound_statement "{\n      iVar4 = 0xc;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e24;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = &UNK_00033f2e;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }\n      iVar4 = 5;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e2b;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar12 = false;\n      bVar11 = (!bVar13 && !bVar11) == bVar13;\n      if (bVar11) goto code_r0x00021a18;\n      iVar4 = 7;\n      pbVar8 = __s1;\n      pbVar10 = (byte *)0x33e66;\n      do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);\n      bVar13 = false;\n      bVar11 = (!bVar12 && !bVar11) == bVar12;\n      if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }\n      iVar4 = FUN_0001f840(param_1,uVar16);\ncode_r0x00021a32:\n      free(__s1);\n      return iVar4;\n    }" ({ "{") (expression_statement "iVar4 = 0xc;" (assignment_expression "iVar4 = 0xc" (identifier "iVar4") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = (byte *)0x33e24;" (assignment_expression "pbVar10 = (byte *)0x33e24" (identifier "pbVar10") (= "=") (cast_expression "(byte *)0x33e24" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x33e24"))) (; ";")) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar13);" (do "do") (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar11 = *pbVar8 < *pbVar10;\n        bVar13 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar8 < *pbVar10;" (assignment_expression "bVar11 = *pbVar8 < *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar13 = *pbVar8 == *pbVar10;" (assignment_expression "bVar13 = *pbVar8 == *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar11 && !bVar13) == bVar11;" (assignment_expression "bVar11 = (!bVar11 && !bVar13) == bVar11" (identifier "bVar11") (= "=") (binary_expression "(!bVar11 && !bVar13) == bVar11" (parenthesized_expression "(!bVar11 && !bVar13)" (( "(") (binary_expression "!bVar11 && !bVar13" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar13" (! "!") (identifier "bVar13"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (bVar11) {\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (compound_statement "{\ncode_r0x00021a18:\n        uVar17 = 0;\n        uVar16 = 1;\ncode_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);\n        goto code_r0x00021a32;\n      }" ({ "{") (labeled_statement "code_r0x00021a18:\n        uVar17 = 0;" (statement_identifier "code_r0x00021a18") (: ":") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" (identifier "uVar16") (= "=") (number_literal "1")) (; ";")) (labeled_statement "code_r0x00021a23:\n        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);" (statement_identifier "code_r0x00021a23") (: ":") (expression_statement "iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);" (assignment_expression "iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2)" (identifier "iVar4") (= "=") (call_expression "FUN_0001f820(param_1,uVar16,uVar17,pbVar2)" (identifier "FUN_0001f820") (argument_list "(param_1,uVar16,uVar17,pbVar2)" (( "(") (identifier "param_1") (, ",") (identifier "uVar16") (, ",") (identifier "uVar17") (, ",") (identifier "pbVar2") () ")")))) (; ";"))) (goto_statement "goto code_r0x00021a32;" (goto "goto") (statement_identifier "code_r0x00021a32") (; ";")) (} "}"))) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" (identifier "iVar4") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = &UNK_00033f2e;" (assignment_expression "pbVar10 = &UNK_00033f2e" (identifier "pbVar10") (= "=") (pointer_expression "&UNK_00033f2e" (& "&") (identifier "UNK_00033f2e"))) (; ";")) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" (do "do") (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" (identifier "bVar11") (= "=") (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" (( "(") (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (bVar11) {\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (compound_statement "{\n        iVar4 = FUN_0001f850(param_1,1);\n        goto code_r0x00021a32;\n      }" ({ "{") (expression_statement "iVar4 = FUN_0001f850(param_1,1);" (assignment_expression "iVar4 = FUN_0001f850(param_1,1)" (identifier "iVar4") (= "=") (call_expression "FUN_0001f850(param_1,1)" (identifier "FUN_0001f850") (argument_list "(param_1,1)" (( "(") (identifier "param_1") (, ",") (number_literal "1") () ")")))) (; ";")) (goto_statement "goto code_r0x00021a32;" (goto "goto") (statement_identifier "code_r0x00021a32") (; ";")) (} "}"))) (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" (identifier "iVar4") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = (byte *)0x33e2b;" (assignment_expression "pbVar10 = (byte *)0x33e2b" (identifier "pbVar10") (= "=") (cast_expression "(byte *)0x33e2b" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x33e2b"))) (; ";")) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" (do "do") (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar13 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" (identifier "bVar11") (= "=") (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" (( "(") (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" (! "!") (identifier "bVar13")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar13"))) (; ";")) (if_statement "if (bVar11) goto code_r0x00021a18;" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (goto_statement "goto code_r0x00021a18;" (goto "goto") (statement_identifier "code_r0x00021a18") (; ";"))) (expression_statement "iVar4 = 7;" (assignment_expression "iVar4 = 7" (identifier "iVar4") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = (byte *)0x33e66;" (assignment_expression "pbVar10 = (byte *)0x33e66" (identifier "pbVar10") (= "=") (cast_expression "(byte *)0x33e66" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x33e66"))) (; ";")) (do_statement "do {\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      } while (bVar11);" (do "do") (compound_statement "{\n        if (iVar4 == 0) break;\n        iVar4 = iVar4 + -1;\n        bVar12 = *pbVar8 < *pbVar10;\n        bVar11 = *pbVar8 == *pbVar10;\n        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" (identifier "bVar11") (= "=") (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" (( "(") (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (bVar11) {\ncode_r0x00021b08:\n        uVar16 = 8;\n      }\n      else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (compound_statement "{\ncode_r0x00021b08:\n        uVar16 = 8;\n      }" ({ "{") (labeled_statement "code_r0x00021b08:\n        uVar16 = 8;" (statement_identifier "code_r0x00021b08") (: ":") (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" (identifier "uVar16") (= "=") (number_literal "8")) (; ";"))) (} "}")) (else_clause "else {\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }" (else "else") (compound_statement "{\n        iVar4 = 0xc;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"long double";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (bVar11) goto code_r0x00021b08;\n        iVar4 = 6;\n        pbVar8 = __s1;\n        pbVar10 = (byte *)"float";\n        do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }\n      }" ({ "{") (expression_statement "iVar4 = 0xc;" (assignment_expression "iVar4 = 0xc" (identifier "iVar4") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = (byte *)"long double";" (assignment_expression "pbVar10 = (byte *)"long double"" (identifier "pbVar10") (= "=") (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 (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);" (do "do") (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar13 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" (identifier "bVar11") (= "=") (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" (( "(") (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" (! "!") (identifier "bVar13")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar13"))) (; ";")) (if_statement "if (bVar11) goto code_r0x00021b08;" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (goto_statement "goto code_r0x00021b08;" (goto "goto") (statement_identifier "code_r0x00021b08") (; ";"))) (expression_statement "iVar4 = 6;" (assignment_expression "iVar4 = 6" (identifier "iVar4") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = (byte *)"float";" (assignment_expression "pbVar10 = (byte *)"float"" (identifier "pbVar10") (= "=") (cast_expression "(byte *)"float"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""float"" (" """) (string_content "float") (" """)))) (; ";")) (do_statement "do {\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        } while (bVar11);" (do "do") (compound_statement "{\n          if (iVar4 == 0) break;\n          iVar4 = iVar4 + -1;\n          bVar12 = *pbVar8 < *pbVar10;\n          bVar11 = *pbVar8 == *pbVar10;\n          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" (identifier "bVar11") (= "=") (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" (( "(") (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (bVar11) {\n          uVar16 = 4;\n        }\n        else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (compound_statement "{\n          uVar16 = 4;\n        }" ({ "{") (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" (identifier "uVar16") (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }" (else "else") (compound_statement "{\n          iVar4 = 0xb;\n          pbVar8 = __s1;\n          pbVar10 = (byte *)"__float128";\n          do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar12 = false;\n          bVar11 = (!bVar13 && !bVar11) == bVar13;\n          if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }\n          uVar16 = 0x10;\n        }" ({ "{") (expression_statement "iVar4 = 0xb;" (assignment_expression "iVar4 = 0xb" (identifier "iVar4") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = (byte *)"__float128";" (assignment_expression "pbVar10 = (byte *)"__float128"" (identifier "pbVar10") (= "=") (cast_expression "(byte *)"__float128"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""__float128"" (" """) (string_content "__float128") (" """)))) (; ";")) (do_statement "do {\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          } while (bVar11);" (do "do") (compound_statement "{\n            if (iVar4 == 0) break;\n            iVar4 = iVar4 + -1;\n            bVar13 = *pbVar8 < *pbVar10;\n            bVar11 = *pbVar8 == *pbVar10;\n            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" (identifier "bVar11") (= "=") (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" (( "(") (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" (! "!") (identifier "bVar13")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar13"))) (; ";")) (if_statement "if (!bVar11) {\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }" (if "if") (parenthesized_expression "(!bVar11)" (( "(") (unary_expression "!bVar11" (! "!") (identifier "bVar11")) () ")")) (compound_statement "{\n            iVar4 = 0xe;\n            pbVar8 = __s1;\n            pbVar10 = (byte *)"unsigned char";\n            do {\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar13 = false;\n            bVar11 = (!bVar12 && !bVar11) == bVar12;\n            if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }\n            goto code_r0x00021a23;\n          }" ({ "{") (expression_statement "iVar4 = 0xe;" (assignment_expression "iVar4 = 0xe" (identifier "iVar4") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = (byte *)"unsigned char";" (assignment_expression "pbVar10 = (byte *)"unsigned char"" (identifier "pbVar10") (= "=") (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 (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            } while (bVar11);" (do "do") (compound_statement "{\n              if (iVar4 == 0) break;\n              iVar4 = iVar4 + -1;\n              bVar12 = *pbVar8 < *pbVar10;\n              bVar11 = *pbVar8 == *pbVar10;\n              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n            }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" (identifier "bVar11") (= "=") (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" (( "(") (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (bVar11) {\n              uVar17 = 1;\n              uVar16 = 1;\n            }\n            else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (compound_statement "{\n              uVar17 = 1;\n              uVar16 = 1;\n            }" ({ "{") (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" (identifier "uVar17") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" (identifier "uVar16") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }" (else "else") (compound_statement "{\n              iVar4 = 4;\n              pbVar8 = __s1;\n              pbVar10 = (byte *)0x33f85;\n              do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }\n            }" ({ "{") (expression_statement "iVar4 = 4;" (assignment_expression "iVar4 = 4" (identifier "iVar4") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = (byte *)0x33f85;" (assignment_expression "pbVar10 = (byte *)0x33f85" (identifier "pbVar10") (= "=") (cast_expression "(byte *)0x33f85" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x33f85"))) (; ";")) (do_statement "do {\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              } while (bVar11);" (do "do") (compound_statement "{\n                if (iVar4 == 0) break;\n                iVar4 = iVar4 + -1;\n                bVar13 = *pbVar8 < *pbVar10;\n                bVar11 = *pbVar8 == *pbVar10;\n                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n              }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" (identifier "bVar11") (= "=") (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" (( "(") (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" (! "!") (identifier "bVar13")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar13"))) (; ";")) (if_statement "if (bVar11) {\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }\n              else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (compound_statement "{\ncode_r0x00021b5b:\n                uVar17 = 0;\n                uVar16 = 4;\n              }" ({ "{") (labeled_statement "code_r0x00021b5b:\n                uVar17 = 0;" (statement_identifier "code_r0x00021b5b") (: ":") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" (identifier "uVar16") (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }" (else "else") (compound_statement "{\n                iVar4 = 0xd;\n                pbVar8 = __s1;\n                pbVar10 = (byte *)0x33f7c;\n                do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }\ncode_r0x00021b6b:\n                uVar17 = 1;\n                uVar16 = 4;\n              }" ({ "{") (expression_statement "iVar4 = 0xd;" (assignment_expression "iVar4 = 0xd" (identifier "iVar4") (= "=") (number_literal "0xd")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = (byte *)0x33f7c;" (assignment_expression "pbVar10 = (byte *)0x33f7c" (identifier "pbVar10") (= "=") (cast_expression "(byte *)0x33f7c" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x33f7c"))) (; ";")) (do_statement "do {\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                } while (bVar11);" (do "do") (compound_statement "{\n                  if (iVar4 == 0) break;\n                  iVar4 = iVar4 + -1;\n                  bVar12 = *pbVar8 < *pbVar10;\n                  bVar11 = *pbVar8 == *pbVar10;\n                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" (identifier "bVar11") (= "=") (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" (( "(") (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (!bVar11) {\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }" (if "if") (parenthesized_expression "(!bVar11)" (( "(") (unary_expression "!bVar11" (! "!") (identifier "bVar11")) () ")")) (compound_statement "{\n                  iVar4 = 5;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)0x33e51;\n                  do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto code_r0x00021b5b;\n                  iVar4 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }\n                }" ({ "{") (expression_statement "iVar4 = 5;" (assignment_expression "iVar4 = 5" (identifier "iVar4") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = (byte *)0x33e51;" (assignment_expression "pbVar10 = (byte *)0x33e51" (identifier "pbVar10") (= "=") (cast_expression "(byte *)0x33e51" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x33e51"))) (; ";")) (do_statement "do {\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  } while (bVar11);" (do "do") (compound_statement "{\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    bVar13 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;\n                  }" ({ "{") (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar13 = *pbVar8 < *pbVar10;" (assignment_expression "bVar13 = *pbVar8 < *pbVar10" (identifier "bVar13") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" (identifier "bVar11") (= "=") (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" (( "(") (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" (! "!") (identifier "bVar13")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar13"))) (; ";")) (if_statement "if (bVar11) goto code_r0x00021b5b;" (if "if") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (goto_statement "goto code_r0x00021b5b;" (goto "goto") (statement_identifier "code_r0x00021b5b") (; ";"))) (expression_statement "iVar4 = 0xe;" (assignment_expression "iVar4 = 0xe" (identifier "iVar4") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar10 = (byte *)"unsigned long";" (assignment_expression "pbVar10 = (byte *)"unsigned long"" (identifier "pbVar10") (= "=") (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                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  } while (bVar11);" (do "do") (compound_statement "{\n                    pbVar7 = pbVar8;\n                    pbVar9 = pbVar10;\n                    if (iVar4 == 0) break;\n                    iVar4 = iVar4 + -1;\n                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;\n                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;\n                    bVar12 = *pbVar8 < *pbVar10;\n                    bVar11 = *pbVar8 == *pbVar10;\n                    pbVar8 = pbVar7;\n                    pbVar10 = pbVar9;\n                  }" ({ "{") (expression_statement "pbVar7 = pbVar8;" (assignment_expression "pbVar7 = pbVar8" (identifier "pbVar7") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "pbVar9 = pbVar10;" (assignment_expression "pbVar9 = pbVar10" (identifier "pbVar9") (= "=") (identifier "pbVar10")) (; ";")) (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar10 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar14 * -2" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;" (assignment_expression "pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar8 + (uint)bVar14 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar14 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar14 * -2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar12 = *pbVar8 < *pbVar10;" (assignment_expression "bVar12 = *pbVar8 < *pbVar10" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar10;" (assignment_expression "bVar11 = *pbVar8 == *pbVar10" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10")))) (; ";")) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" (identifier "pbVar8") (= "=") (identifier "pbVar7")) (; ";")) (expression_statement "pbVar10 = pbVar9;" (assignment_expression "pbVar10 = pbVar9" (identifier "pbVar10") (= "=") (identifier "pbVar9")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (if_statement "if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }" (if "if") (parenthesized_expression "((!bVar12 && !bVar11) != bVar12)" (( "(") (binary_expression "(!bVar12 && !bVar11) != bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" (( "(") (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (!= "!=") (identifier "bVar12")) () ")")) (compound_statement "{\n                    iVar4 = strcmp((char *)__s1,"__int128");\n                    if (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }\n                    goto code_r0x00021a23;\n                  }" ({ "{") (expression_statement "iVar4 = strcmp((char *)__s1,"__int128");" (assignment_expression "iVar4 = strcmp((char *)__s1,"__int128")" (identifier "iVar4") (= "=") (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 (iVar4 == 0) {\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }\n                    else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      uVar17 = 0;\n                      uVar16 = 0x10;\n                      pbVar2 = (byte *)0x0;\n                    }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = 0x10;" (assignment_expression "uVar16 = 0x10" (identifier "uVar16") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" (identifier "pbVar2") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }" (else "else") (compound_statement "{\n                      iVar4 = strcmp((char *)__s1,"unsigned __int128");\n                      if (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }\n                    }" ({ "{") (expression_statement "iVar4 = strcmp((char *)__s1,"unsigned __int128");" (assignment_expression "iVar4 = strcmp((char *)__s1,"unsigned __int128")" (identifier "iVar4") (= "=") (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 (iVar4 == 0) {\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }\n                      else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        uVar17 = 1;\n                        uVar16 = 0x10;\n                        pbVar2 = (byte *)0x0;\n                      }" ({ "{") (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" (identifier "uVar17") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar16 = 0x10;" (assignment_expression "uVar16 = 0x10" (identifier "uVar16") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" (identifier "pbVar2") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }" (else "else") (compound_statement "{\n                        iVar4 = strcmp((char *)__s1,"short");\n                        if (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }\n                      }" ({ "{") (expression_statement "iVar4 = strcmp((char *)__s1,"short");" (assignment_expression "iVar4 = strcmp((char *)__s1,"short")" (identifier "iVar4") (= "=") (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 (iVar4 == 0) {\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }\n                        else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          uVar17 = 0;\n                          uVar16 = 2;\n                          pbVar2 = pbVar7;\n                        }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = 2;" (assignment_expression "uVar16 = 2" (identifier "uVar16") (= "=") (number_literal "2")) (; ";")) (expression_statement "pbVar2 = pbVar7;" (assignment_expression "pbVar2 = pbVar7" (identifier "pbVar2") (= "=") (identifier "pbVar7")) (; ";")) (} "}")) (else_clause "else {\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }" (else "else") (compound_statement "{\n                          iVar4 = strcmp((char *)__s1,"unsigned short");\n                          if (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }\n                        }" ({ "{") (expression_statement "iVar4 = strcmp((char *)__s1,"unsigned short");" (assignment_expression "iVar4 = strcmp((char *)__s1,"unsigned short")" (identifier "iVar4") (= "=") (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 (iVar4 == 0) {\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }\n                          else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                            uVar17 = 1;\n                            uVar16 = 2;\n                            pbVar2 = __s1;\n                          }" ({ "{") (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" (identifier "uVar17") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar16 = 2;" (assignment_expression "uVar16 = 2" (identifier "uVar16") (= "=") (number_literal "2")) (; ";")) (expression_statement "pbVar2 = __s1;" (assignment_expression "pbVar2 = __s1" (identifier "pbVar2") (= "=") (identifier "__s1")) (; ";")) (} "}")) (else_clause "else {\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }" (else "else") (compound_statement "{\n                            puVar15 = &UNK_00033e56;\n                            iVar5 = iVar4;\n                            pbVar2 = (byte *)strcmp((char *)__s1,"void");\n                            if (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }\n                            iVar4 = strcmp((char *)__s1,"wchar_t");\n                            if (iVar4 == 0) goto code_r0x00021b6b;\n                            iVar4 = strcmp((char *)__s1,"long long");\n                            if (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                          }" ({ "{") (expression_statement "puVar15 = &UNK_00033e56;" (assignment_expression "puVar15 = &UNK_00033e56" (identifier "puVar15") (= "=") (pointer_expression "&UNK_00033e56" (& "&") (identifier "UNK_00033e56"))) (; ";")) (expression_statement "iVar5 = iVar4;" (assignment_expression "iVar5 = iVar4" (identifier "iVar5") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "pbVar2 = (byte *)strcmp((char *)__s1,"void");" (assignment_expression "pbVar2 = (byte *)strcmp((char *)__s1,"void")" (identifier "pbVar2") (= "=") (cast_expression "(byte *)strcmp((char *)__s1,"void")" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (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 (pbVar2 == (byte *)0x0) {\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }" (if "if") (parenthesized_expression "(pbVar2 == (byte *)0x0)" (( "(") (binary_expression "pbVar2 == (byte *)0x0" (identifier "pbVar2") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);\n                              goto code_r0x00021a32;\n                            }" ({ "{") (expression_statement "iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);" (assignment_expression "iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5)" (identifier "iVar4") (= "=") (call_expression "FUN_0001f810(param_1,puVar15,iVar4,iVar5)" (identifier "FUN_0001f810") (argument_list "(param_1,puVar15,iVar4,iVar5)" (( "(") (identifier "param_1") (, ",") (identifier "puVar15") (, ",") (identifier "iVar4") (, ",") (identifier "iVar5") () ")")))) (; ";")) (goto_statement "goto code_r0x00021a32;" (goto "goto") (statement_identifier "code_r0x00021a32") (; ";")) (} "}"))) (expression_statement "iVar4 = strcmp((char *)__s1,"wchar_t");" (assignment_expression "iVar4 = strcmp((char *)__s1,"wchar_t")" (identifier "iVar4") (= "=") (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 (iVar4 == 0) goto code_r0x00021b6b;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00021b6b;" (goto "goto") (statement_identifier "code_r0x00021b6b") (; ";"))) (expression_statement "iVar4 = strcmp((char *)__s1,"long long");" (assignment_expression "iVar4 = strcmp((char *)__s1,"long long")" (identifier "iVar4") (= "=") (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 (iVar4 == 0) {\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }\n                            else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                              uVar17 = 0;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" (identifier "uVar16") (= "=") (number_literal "8")) (; ";")) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" (identifier "pbVar2") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" (else "else") (compound_statement "{\n                              iVar4 = strcmp((char *)__s1,"unsigned long long");\n                              if (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }\n                              uVar17 = 1;\n                              uVar16 = 8;\n                              pbVar2 = (byte *)0x0;\n                            }" ({ "{") (expression_statement "iVar4 = strcmp((char *)__s1,"unsigned long long");" (assignment_expression "iVar4 = strcmp((char *)__s1,"unsigned long long")" (identifier "iVar4") (= "=") (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 (iVar4 != 0) {\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                iVar4 = strcmp((char *)__s1,"...");\n                                if (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }\n                                iVar4 = 0;\n                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);\n                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);\n                                goto code_r0x00021a32;\n                              }" ({ "{") (expression_statement "iVar4 = strcmp((char *)__s1,"...");" (assignment_expression "iVar4 = strcmp((char *)__s1,"...")" (identifier "iVar4") (= "=") (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 (iVar4 == 0) {\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }\n                                else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                  if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }\n                                  pcVar6 = "Unexpected demangled varargs\n";\n                                  pbVar7 = pbVar9;\n                                }" ({ "{") (if_statement "if (param_5 != (undefined4 *)0x0) {\n                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\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                                    iVar4 = 0;\n                                    *param_5 = 1;\n                                    goto code_r0x00021a32;\n                                  }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_5 = 1;" (assignment_expression "*param_5 = 1" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x00021a32;" (goto "goto") (statement_identifier "code_r0x00021a32") (; ";")) (} "}"))) (expression_statement "pcVar6 = "Unexpected demangled varargs\n";" (assignment_expression "pcVar6 = "Unexpected demangled varargs\n"" (identifier "pcVar6") (= "=") (string_literal ""Unexpected demangled varargs\n"" (" """) (string_content "Unexpected demangled varargs") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "pbVar7 = pbVar9;" (assignment_expression "pbVar7 = pbVar9" (identifier "pbVar7") (= "=") (identifier "pbVar9")) (; ";")) (} "}")) (else_clause "else {\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }" (else "else") (compound_statement "{\n                                  pcVar6 = "Unrecognized demangled builtin type\n";\n                                }" ({ "{") (expression_statement "pcVar6 = "Unrecognized demangled builtin type\n";" (assignment_expression "pcVar6 = "Unrecognized demangled builtin type\n"" (identifier "pcVar6") (= "=") (string_literal ""Unrecognized demangled builtin type\n"" (" """) (string_content "Unrecognized demangled builtin type") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);" (assignment_expression "pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7)" (identifier "pcVar6") (= "=") (cast_expression "(char *)dcgettext(0,pcVar6,5,pbVar7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar6,5,pbVar7)" (identifier "dcgettext") (argument_list "(0,pcVar6,5,pbVar7)" (( "(") (number_literal "0") (, ",") (identifier "pcVar6") (, ",") (number_literal "5") (, ",") (identifier "pbVar7") () ")"))))) (; ";")) (expression_statement "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);" (call_expression "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6)" (identifier "fprintf") (argument_list "(*(FILE **)PTR_stderr_0003ffa8,pcVar6)" (( "(") (pointer_expression "*(FILE **)PTR_stderr_0003ffa8" (* "*") (cast_expression "(FILE **)PTR_stderr_0003ffa8" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stderr_0003ffa8"))) (, ",") (identifier "pcVar6") () ")"))) (; ";")) (goto_statement "goto code_r0x00021a32;" (goto "goto") (statement_identifier "code_r0x00021a32") (; ";")) (} "}"))) (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" (identifier "uVar17") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar16 = 8;" (assignment_expression "uVar16 = 8" (identifier "uVar16") (= "=") (number_literal "8")) (; ";")) (expression_statement "pbVar2 = (byte *)0x0;" (assignment_expression "pbVar2 = (byte *)0x0" (identifier "pbVar2") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (goto_statement "goto code_r0x00021a23;" (goto "goto") (statement_identifier "code_r0x00021a23") (; ";")) (} "}"))) (} "}"))) (labeled_statement "code_r0x00021b6b:\n                uVar17 = 1;" (statement_identifier "code_r0x00021b6b") (: ":") (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" (identifier "uVar17") (= "=") (number_literal "1")) (; ";"))) (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" (identifier "uVar16") (= "=") (number_literal "4")) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto code_r0x00021a23;" (goto "goto") (statement_identifier "code_r0x00021a23") (; ";")) (} "}"))) (expression_statement "uVar16 = 0x10;" (assignment_expression "uVar16 = 0x10" (identifier "uVar16") (= "=") (number_literal "0x10")) (; ";")) (} "}")))) (} "}")))) (expression_statement "iVar4 = FUN_0001f840(param_1,uVar16);" (assignment_expression "iVar4 = FUN_0001f840(param_1,uVar16)" (identifier "iVar4") (= "=") (call_expression "FUN_0001f840(param_1,uVar16)" (identifier "FUN_0001f840") (argument_list "(param_1,uVar16)" (( "(") (identifier "param_1") (, ",") (identifier "uVar16") () ")")))) (; ";")) (labeled_statement "code_r0x00021a32:\n      free(__s1);" (statement_identifier "code_r0x00021a32") (: ":") (expression_statement "free(__s1);" (call_expression "free(__s1)" (identifier "free") (argument_list "(__s1)" (( "(") (identifier "__s1") () ")"))) (; ";"))) (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";")) (} "}"))) (expression_statement "pcVar6 = "Couldn\'t get demangled builtin type\n";" (assignment_expression "pcVar6 = "Couldn\'t get demangled builtin type\n"" (identifier "pcVar6") (= "=") (string_literal ""Couldn\'t get demangled builtin type\n"" (" """) (string_content "Couldn") (escape_sequence "\'") (string_content "t get demangled builtin type") (escape_sequence "\n") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x29:\n    if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }\n    if (iVar4 == 0) {\n      return 0;\n    }\n    iVar5 = FUN_00021c10(auStack_20);\n    if (iVar5 == 0) {\n      return 0;\n    }\n    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);\n    return iVar4;" (case "case") (number_literal "0x29") (: ":") (if_statement "if (param_3[2] == 0) {\n      iVar4 = FUN_0001f810(param_1);\n    }\n    else {\n      iVar4 = FUN_000214b0(0,0);\n    }" (if "if") (parenthesized_expression "(param_3[2] == 0)" (( "(") (binary_expression "param_3[2] == 0" (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar4 = FUN_0001f810(param_1);\n    }" ({ "{") (expression_statement "iVar4 = FUN_0001f810(param_1);" (assignment_expression "iVar4 = FUN_0001f810(param_1)" (identifier "iVar4") (= "=") (call_expression "FUN_0001f810(param_1)" (identifier "FUN_0001f810") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      iVar4 = FUN_000214b0(0,0);\n    }" (else "else") (compound_statement "{\n      iVar4 = FUN_000214b0(0,0);\n    }" ({ "{") (expression_statement "iVar4 = FUN_000214b0(0,0);" (assignment_expression "iVar4 = FUN_000214b0(0,0)" (identifier "iVar4") (= "=") (call_expression "FUN_000214b0(0,0)" (identifier "FUN_000214b0") (argument_list "(0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar4 == 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar5 = FUN_00021c10(auStack_20);" (assignment_expression "iVar5 = FUN_00021c10(auStack_20)" (identifier "iVar5") (= "=") (call_expression "FUN_00021c10(auStack_20)" (identifier "FUN_00021c10") (argument_list "(auStack_20)" (( "(") (identifier "auStack_20") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);" (assignment_expression "iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0])" (identifier "iVar4") (= "=") (call_expression "FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0])" (identifier "FUN_0001fa00") (argument_list "(param_1,iVar4,iVar5,auStack_20[0])" (( "(") (identifier "param_1") (, ",") (identifier "iVar4") (, ",") (identifier "iVar5") (, ",") (subscript_expression "auStack_20[0]" (identifier "auStack_20") ([ "[") (number_literal "0") (] "]")) () ")")))) (; ";")) (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";"))) (} "}"))) (expression_statement "uVar16 = 5;" (assignment_expression "uVar16 = 5" (identifier "uVar16") (= "=") (number_literal "5")) (; ";")) (expression_statement "pcVar6 = (char *)dcgettext(0,pcVar6,5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,pcVar6,5)" (identifier "pcVar6") (= "=") (cast_expression "(char *)dcgettext(0,pcVar6,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar6,5)" (identifier "dcgettext") (argument_list "(0,pcVar6,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar6") (, ",") (number_literal "5") () ")"))))) (; ";")) (labeled_statement "code_r0x000219f7:\n  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);" (statement_identifier "code_r0x000219f7") (: ":") (expression_statement "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);" (call_expression "fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16)" (identifier "fprintf") (argument_list "(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16)" (( "(") (pointer_expression "*(FILE **)PTR_stderr_0003ffa8" (* "*") (cast_expression "(FILE **)PTR_stderr_0003ffa8" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stderr_0003ffa8"))) (, ",") (identifier "pcVar6") (, ",") (identifier "uVar16") () ")"))) (; ";"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

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

{
  type_5 var_5;
  type_3 *var_36;
  size_t var_11;
  type_6 *var_24;
  type_5 *var_4;
  type_1 var_15;
  type_7 *var_38;
  type_7 var_7;
  char *var_9;
  int var_13;
  type_7 *arg_types;
  type_7 type;
  type_6 *pbVar7;
  type_6 *pbVar9;
  bool var_27;
  bool var_29;
  bool var_31;
  type_6 bVar14;
  type_2 *in_stack_ffffffb8;
  type_8 uVar15;
  type_3 *in_stack_ffffffbc;
  type_9 dVar16;
  type_4 unsignedp;
  type_4 *in_stack_ffffffc0;
  size_t alc;
  type_10 uStack_14;
  type_6 *var_25;
  type_6 *var_26;
  
  bVar14 = 0;
  uStack_14 = 0x214bd;
  if (var_1 != (type_4 *)0x0) {
    *var_1 = 0;
  }
  dVar16 = dc->type;
  switch(dVar16) {
  case DEMANGLE_COMPONENT_NAME:
    if ((var_2 != (type_1)0x0) &&
       (var_4 = var_3(dhandle,var_2), var_4 != (type_5 *)0x0)) {
      var_5 = *var_4;
      while (var_5 != (type_5)0x0) {
        var_7 = var_6(dhandle,var_5);
        if (var_7 == (type_7)0x0) {
          return (type_1)0x0;
        }
        var_9 = var_8(dhandle,var_7);
        if (((var_9 != (char *)0x0) && (var_11 = var_10(var_9), var_11 == (dc->u).s_name.len)) &&
           (var_13 = var_12(var_9,(dc->u).s_name.s,var_11), var_13 == 0)) {
          return var_7;
        }
        var_4 = var_4 + 1;
        var_5 = *var_4;
      }
    }
  case DEMANGLE_COMPONENT_SUB_STD:
    var_15 = var_14
                       (dhandle,(type_2 *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,
                        DEBUG_KIND_ILLEGAL);
    return var_15;
  case DEMANGLE_COMPONENT_QUAL_NAME:
    var_15 = function_1(dhandle,info,(dc->u).s_fixed.length,var_2,(type_4 *)0x0);
    if (var_15 == (type_1)0x0) {
      return (type_1)0x0;
    }
    var_15 = function_1
                       (dhandle,info,(dc->u).s_extended_operator.name,var_15,(type_4 *)0x0);
    return var_15;
  default:
    var_9 = (char *)var_16(0,"Unrecognized demangle component %d\n",5);
    goto LAB_000219f7;
  case DEMANGLE_COMPONENT_TEMPLATE:
    var_9 = (char *)var_17(3,dc,0x14,&alc);
    if (var_9 != (char *)0x0) {
      var_11 = var_10(var_9);
      var_15 = var_14
                         (dhandle,(type_2 *)&info->tags,var_9,var_11,DEBUG_KIND_CLASS);
      var_18(var_9);
      return var_15;
    }
    var_9 = "Failed to print demangled template\n";
    break;
  case DEMANGLE_COMPONENT_RESTRICT:
  case DEMANGLE_COMPONENT_VOLATILE:
  case DEMANGLE_COMPONENT_CONST:
  case DEMANGLE_COMPONENT_POINTER:
  case DEMANGLE_COMPONENT_REFERENCE:
    var_15 = function_1
                       (dhandle,info,(dc->u).s_fixed.length,(type_1)0x0,(type_4 *)0x0);
    if (var_15 != (type_1)0x0) {
      switch(dc->type) {
      case DEMANGLE_COMPONENT_RESTRICT:
        return var_15;
      case DEMANGLE_COMPONENT_VOLATILE:
        var_7 = var_19(dhandle,var_15);
        return var_7;
      case DEMANGLE_COMPONENT_CONST:
        var_7 = var_20(dhandle,var_15);
        return var_7;
      default:
                    /* WARNING: Subroutine does not return */
        var_21();
      case DEMANGLE_COMPONENT_POINTER:
        var_7 = var_22(dhandle,var_15);
        return var_7;
      case DEMANGLE_COMPONENT_REFERENCE:
        var_7 = var_23(dhandle,var_15);
        return var_7;
      }
    }
    return (type_1)0x0;
  case DEMANGLE_COMPONENT_BUILTIN_TYPE:
    var_24 = (type_6 *)var_17(3,dc,0x14,&alc);
    var_27 = false;
    var_31 = var_24 == (type_6 *)0x0;
    if (!var_31) {
      var_13 = 0xc;
      var_25 = var_24;
      var_26 = (type_6 *)0x33e24;
      do {
        if (var_13 == 0) break;
        var_13 = var_13 + -1;
        var_27 = *var_25 < *var_26;
        var_31 = *var_25 == *var_26;
        var_25 = var_25 + (type_8)bVar14 * -2 + 1;
        var_26 = var_26 + (type_8)bVar14 * -2 + 1;
      } while (var_31);
      var_29 = false;
      var_27 = (!var_27 && !var_31) == var_27;
      if (var_27) {
LAB_00021a18:
        unsignedp = 0;
        uVar15 = 1;
LAB_00021a23:
        var_7 = var_28(dhandle,uVar15,unsignedp);
        goto LAB_00021a32;
      }
      var_13 = 5;
      var_25 = var_24;
      var_26 = &DAT_00033f2e;
      do {
        if (var_13 == 0) break;
        var_13 = var_13 + -1;
        var_29 = *var_25 < *var_26;
        var_27 = *var_25 == *var_26;
        var_25 = var_25 + (type_8)bVar14 * -2 + 1;
        var_26 = var_26 + (type_8)bVar14 * -2 + 1;
      } while (var_27);
      var_31 = false;
      var_27 = (!var_29 && !var_27) == var_29;
      if (var_27) {
        var_7 = var_30(1);
        goto LAB_00021a32;
      }
      var_13 = 5;
      var_25 = var_24;
      var_26 = (type_6 *)0x33e2b;
      do {
        if (var_13 == 0) break;
        var_13 = var_13 + -1;
        var_31 = *var_25 < *var_26;
        var_27 = *var_25 == *var_26;
        var_25 = var_25 + (type_8)bVar14 * -2 + 1;
        var_26 = var_26 + (type_8)bVar14 * -2 + 1;
      } while (var_27);
      var_29 = false;
      var_27 = (!var_31 && !var_27) == var_31;
      if (var_27) goto LAB_00021a18;
      var_13 = 7;
      var_25 = var_24;
      var_26 = (type_6 *)0x33e66;
      do {
        if (var_13 == 0) break;
        var_13 = var_13 + -1;
        var_29 = *var_25 < *var_26;
        var_27 = *var_25 == *var_26;
        var_25 = var_25 + (type_8)bVar14 * -2 + 1;
        var_26 = var_26 + (type_8)bVar14 * -2 + 1;
      } while (var_27);
      var_31 = false;
      var_27 = (!var_29 && !var_27) == var_29;
      if (var_27) {
LAB_00021b08:
        uVar15 = 8;
      }
      else {
        var_13 = 0xc;
        var_25 = var_24;
        var_26 = (type_6 *)"long double";
        do {
          if (var_13 == 0) break;
          var_13 = var_13 + -1;
          var_31 = *var_25 < *var_26;
          var_27 = *var_25 == *var_26;
          var_25 = var_25 + (type_8)bVar14 * -2 + 1;
          var_26 = var_26 + (type_8)bVar14 * -2 + 1;
        } while (var_27);
        var_29 = false;
        var_27 = (!var_31 && !var_27) == var_31;
        if (var_27) goto LAB_00021b08;
        var_13 = 6;
        var_25 = var_24;
        var_26 = (type_6 *)"float";
        do {
          if (var_13 == 0) break;
          var_13 = var_13 + -1;
          var_29 = *var_25 < *var_26;
          var_27 = *var_25 == *var_26;
          var_25 = var_25 + (type_8)bVar14 * -2 + 1;
          var_26 = var_26 + (type_8)bVar14 * -2 + 1;
        } while (var_27);
        var_31 = false;
        var_27 = (!var_29 && !var_27) == var_29;
        if (var_27) {
          uVar15 = 4;
        }
        else {
          var_13 = 0xb;
          var_25 = var_24;
          var_26 = (type_6 *)"__float128";
          do {
            if (var_13 == 0) break;
            var_13 = var_13 + -1;
            var_31 = *var_25 < *var_26;
            var_27 = *var_25 == *var_26;
            var_25 = var_25 + (type_8)bVar14 * -2 + 1;
            var_26 = var_26 + (type_8)bVar14 * -2 + 1;
          } while (var_27);
          var_29 = false;
          var_27 = (!var_31 && !var_27) == var_31;
          if (!var_27) {
            var_13 = 0xe;
            var_25 = var_24;
            var_26 = (type_6 *)"unsigned char";
            do {
              if (var_13 == 0) break;
              var_13 = var_13 + -1;
              var_29 = *var_25 < *var_26;
              var_27 = *var_25 == *var_26;
              var_25 = var_25 + (type_8)bVar14 * -2 + 1;
              var_26 = var_26 + (type_8)bVar14 * -2 + 1;
            } while (var_27);
            var_31 = false;
            var_27 = (!var_29 && !var_27) == var_29;
            if (var_27) {
              unsignedp = 1;
              uVar15 = 1;
            }
            else {
              var_13 = 4;
              var_25 = var_24;
              var_26 = (type_6 *)0x33f85;
              do {
                if (var_13 == 0) break;
                var_13 = var_13 + -1;
                var_31 = *var_25 < *var_26;
                var_27 = *var_25 == *var_26;
                var_25 = var_25 + (type_8)bVar14 * -2 + 1;
                var_26 = var_26 + (type_8)bVar14 * -2 + 1;
              } while (var_27);
              var_29 = false;
              var_27 = (!var_31 && !var_27) == var_31;
              if (var_27) {
LAB_00021b5b:
                unsignedp = 0;
                uVar15 = 4;
              }
              else {
                var_13 = 0xd;
                var_25 = var_24;
                var_26 = (type_6 *)0x33f7c;
                do {
                  if (var_13 == 0) break;
                  var_13 = var_13 + -1;
                  var_29 = *var_25 < *var_26;
                  var_27 = *var_25 == *var_26;
                  var_25 = var_25 + (type_8)bVar14 * -2 + 1;
                  var_26 = var_26 + (type_8)bVar14 * -2 + 1;
                } while (var_27);
                var_31 = false;
                var_27 = (!var_29 && !var_27) == var_29;
                if (!var_27) {
                  var_13 = 5;
                  var_25 = var_24;
                  var_26 = (type_6 *)0x33e51;
                  do {
                    if (var_13 == 0) break;
                    var_13 = var_13 + -1;
                    var_31 = *var_25 < *var_26;
                    var_27 = *var_25 == *var_26;
                    var_25 = var_25 + (type_8)bVar14 * -2 + 1;
                    var_26 = var_26 + (type_8)bVar14 * -2 + 1;
                  } while (var_27);
                  var_29 = false;
                  var_27 = (!var_31 && !var_27) == var_31;
                  if (var_27) goto LAB_00021b5b;
                  var_13 = 0xe;
                  var_25 = var_24;
                  var_26 = (type_6 *)"unsigned long";
                  do {
                    pbVar7 = var_25;
                    pbVar9 = var_26;
                    if (var_13 == 0) break;
                    var_13 = var_13 + -1;
                    pbVar9 = var_26 + (type_8)bVar14 * -2 + 1;
                    pbVar7 = var_25 + (type_8)bVar14 * -2 + 1;
                    var_29 = *var_25 < *var_26;
                    var_27 = *var_25 == *var_26;
                    var_25 = pbVar7;
                    var_26 = pbVar9;
                  } while (var_27);
                  if ((!var_29 && !var_27) != var_29) {
                    var_13 = var_32((char *)var_24,"__int128");
                    if (var_13 == 0) {
                      unsignedp = 0;
                      uVar15 = 0x10;
                    }
                    else {
                      var_13 = var_32((char *)var_24,"unsigned __int128");
                      if (var_13 == 0) {
                        unsignedp = 1;
                        uVar15 = 0x10;
                      }
                      else {
                        var_13 = var_32((char *)var_24,"short");
                        if (var_13 == 0) {
                          unsignedp = 0;
                          uVar15 = 2;
                        }
                        else {
                          var_13 = var_32((char *)var_24,"unsigned short");
                          if (var_13 == 0) {
                            unsignedp = 1;
                            uVar15 = 2;
                          }
                          else {
                            var_13 = var_32((char *)var_24,"void");
                            if (var_13 == 0) {
                              var_7 = var_33();
                              goto LAB_00021a32;
                            }
                            var_13 = var_32((char *)var_24,"wchar_t");
                            if (var_13 == 0) goto LAB_00021b6b;
                            var_13 = var_32((char *)var_24,"long long");
                            if (var_13 == 0) {
                              unsignedp = 0;
                              uVar15 = 8;
                            }
                            else {
                              var_13 = var_32((char *)var_24,"unsigned long long");
                              if (var_13 != 0) {
                                var_13 = var_32((char *)var_24,"...");
                                if (var_13 == 0) {
                                  if (var_1 != (type_4 *)0x0) {
                                    var_7 = (type_7)0x0;
                                    *var_1 = 1;
                                    goto LAB_00021a32;
                                  }
                                  var_9 = "Unexpected demangled varargs\n";
                                  pbVar7 = pbVar9;
                                }
                                else {
                                  var_9 = "Unrecognized demangled builtin type\n";
                                }
                                var_7 = (type_7)0x0;
                                var_9 = (char *)var_16(0,var_9,5,pbVar7);
                                var_34(*(type_11 **)PTR_stderr_0003ffa8,var_9);
                                goto LAB_00021a32;
                              }
                              unsignedp = 1;
                              uVar15 = 8;
                            }
                          }
                        }
                      }
                    }
                    goto LAB_00021a23;
                  }
                }
LAB_00021b6b:
                unsignedp = 1;
                uVar15 = 4;
              }
            }
            goto LAB_00021a23;
          }
          uVar15 = 0x10;
        }
      }
      var_7 = var_35(uVar15);
LAB_00021a32:
      var_18(var_24);
      return var_7;
    }
    var_9 = "Couldn\'t get demangled builtin type\n";
    break;
  case DEMANGLE_COMPONENT_FUNCTION_TYPE:
    var_36 = (dc->u).s_fixed.length;
    if (var_36 == (type_3 *)0x0) {
      var_15 = var_33();
    }
    else {
      in_stack_ffffffb8 = (type_2 *)0x0;
      var_15 = function_1(dhandle,info,var_36,(type_1)0x0,(type_4 *)0x0);
    }
    if (var_15 == (type_1)0x0) {
      return (type_1)0x0;
    }
    var_38 = var_37(&alc,in_stack_ffffffb8,in_stack_ffffffbc,in_stack_ffffffc0);
    if (var_38 == (type_7 *)0x0) {
      return (type_1)0x0;
    }
    var_7 = var_39(var_38,type,arg_types,(type_4)dhandle);
    return var_7;
  }
  dVar16 = DEMANGLE_COMPONENT_TEMPLATE_PARAM;
  var_9 = (char *)var_16(0,var_9,5);
LAB_000219f7:
  var_34(*(type_11 **)PTR_stderr_0003ffa8,var_9,dVar16);
  return (type_1)0x0;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

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

{
  size_t sVar1;
  byte *__s1;
  byte *pbVar2;
  int *piVar3;
  int iVar4;
  int iVar5;
  char *pcVar6;
  byte *pbVar7;
  byte *pbVar9;
  bool bVar11;
  bool bVar12;
  bool bVar13;
  byte bVar14;
  undefined *puVar15;
  undefined4 uVar16;
  undefined4 uVar17;
  undefined4 auStack_20 [3];
  undefined4 uStack_14;
  byte *pbVar8;
  byte *pbVar10;
  
  bVar14 = 0;
  uStack_14 = 0x214bd;
  if (param_5 != (undefined4 *)0x0) {
    *param_5 = 0;
  }
  uVar16 = *param_3;
  switch(uVar16) {
  case 0:
    if ((param_4 != 0) && (piVar3 = (int *)FUN_000205d0(param_1,param_4), piVar3 != (int *)0x0)) {
      iVar4 = *piVar3;
      while (iVar4 != 0) {
        iVar4 = FUN_00020610(param_1,iVar4);
        if (iVar4 == 0) {
          return 0;
        }
        pcVar6 = (char *)FUN_00020440(param_1,iVar4);
        if (((pcVar6 != (char *)0x0) && (sVar1 = strlen(pcVar6), sVar1 == param_3[3])) &&
           (iVar5 = strncmp(pcVar6,(char *)param_3[2],sVar1), iVar5 == 0)) {
          return iVar4;
        }
        piVar3 = piVar3 + 1;
        iVar4 = *piVar3;
      }
    }
  case 0x18:
    iVar4 = FUN_00021390(param_3[3],0);
    return iVar4;
  case 1:
    iVar4 = MASKED(param_4,0);
    if (iVar4 == 0) {
      return 0;
    }
    iVar4 = MASKED(iVar4,0);
    return iVar4;
  default:
    pcVar6 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);
    goto code_r0x000219f7;
  case 4:
    pcVar6 = (char *)func_0x00013040(3,param_3,0x14,auStack_20);
    if (pcVar6 != (char *)0x0) {
      sVar1 = strlen(pcVar6);
      iVar4 = FUN_00021390(sVar1,9);
      free(pcVar6);
      return iVar4;
    }
    pcVar6 = "Failed to print demangled template\n";
    break;
  case 0x19:
  case 0x1a:
  case 0x1b:
  case 0x22:
  case 0x23:
    iVar4 = MASKED(0,0);
    if (iVar4 != 0) {
      switch(*param_3) {
      case 0x19:
        return iVar4;
      case 0x1a:
        iVar4 = FUN_0001fd20(param_1,iVar4);
        return iVar4;
      case 0x1b:
        iVar4 = FUN_0001fcf0(param_1,iVar4);
        return iVar4;
      default:
                    /* WARNING: Subroutine does not return */
        abort();
      case 0x22:
        iVar4 = FUN_0001f9b0(param_1,iVar4);
        return iVar4;
      case 0x23:
        iVar4 = FUN_0001fa60(param_1,iVar4);
        return iVar4;
      }
    }
    return 0;
  case 0x27:
    pbVar2 = (byte *)auStack_20;
    __s1 = (byte *)func_0x00013040(3,param_3,0x14,pbVar2);
    bVar11 = false;
    bVar13 = __s1 == (byte *)0x0;
    if (!bVar13) {
      iVar4 = 0xc;
      pbVar8 = __s1;
      pbVar10 = (byte *)0x33e24;
      do {
        if (iVar4 == 0) break;
        iVar4 = iVar4 + -1;
        bVar11 = *pbVar8 < *pbVar10;
        bVar13 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar13);
      bVar12 = false;
      bVar11 = (!bVar11 && !bVar13) == bVar11;
      if (bVar11) {
code_r0x00021a18:
        uVar17 = 0;
        uVar16 = 1;
code_r0x00021a23:
        iVar4 = FUN_0001f820(param_1,uVar16,uVar17,pbVar2);
        goto code_r0x00021a32;
      }
      iVar4 = 5;
      pbVar8 = __s1;
      pbVar10 = &UNK_00033f2e;
      do {
        if (iVar4 == 0) break;
        iVar4 = iVar4 + -1;
        bVar12 = *pbVar8 < *pbVar10;
        bVar11 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar11);
      bVar13 = false;
      bVar11 = (!bVar12 && !bVar11) == bVar12;
      if (bVar11) {
        iVar4 = FUN_0001f850(param_1,1);
        goto code_r0x00021a32;
      }
      iVar4 = 5;
      pbVar8 = __s1;
      pbVar10 = (byte *)0x33e2b;
      do {
        if (iVar4 == 0) break;
        iVar4 = iVar4 + -1;
        bVar13 = *pbVar8 < *pbVar10;
        bVar11 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar11);
      bVar12 = false;
      bVar11 = (!bVar13 && !bVar11) == bVar13;
      if (bVar11) goto code_r0x00021a18;
      iVar4 = 7;
      pbVar8 = __s1;
      pbVar10 = (byte *)0x33e66;
      do {
        if (iVar4 == 0) break;
        iVar4 = iVar4 + -1;
        bVar12 = *pbVar8 < *pbVar10;
        bVar11 = *pbVar8 == *pbVar10;
        pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
      } while (bVar11);
      bVar13 = false;
      bVar11 = (!bVar12 && !bVar11) == bVar12;
      if (bVar11) {
code_r0x00021b08:
        uVar16 = 8;
      }
      else {
        iVar4 = 0xc;
        pbVar8 = __s1;
        pbVar10 = (byte *)"long double";
        do {
          if (iVar4 == 0) break;
          iVar4 = iVar4 + -1;
          bVar13 = *pbVar8 < *pbVar10;
          bVar11 = *pbVar8 == *pbVar10;
          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
        } while (bVar11);
        bVar12 = false;
        bVar11 = (!bVar13 && !bVar11) == bVar13;
        if (bVar11) goto code_r0x00021b08;
        iVar4 = 6;
        pbVar8 = __s1;
        pbVar10 = (byte *)"float";
        do {
          if (iVar4 == 0) break;
          iVar4 = iVar4 + -1;
          bVar12 = *pbVar8 < *pbVar10;
          bVar11 = *pbVar8 == *pbVar10;
          pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
          pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
        } while (bVar11);
        bVar13 = false;
        bVar11 = (!bVar12 && !bVar11) == bVar12;
        if (bVar11) {
          uVar16 = 4;
        }
        else {
          iVar4 = 0xb;
          pbVar8 = __s1;
          pbVar10 = (byte *)"__float128";
          do {
            if (iVar4 == 0) break;
            iVar4 = iVar4 + -1;
            bVar13 = *pbVar8 < *pbVar10;
            bVar11 = *pbVar8 == *pbVar10;
            pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
            pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
          } while (bVar11);
          bVar12 = false;
          bVar11 = (!bVar13 && !bVar11) == bVar13;
          if (!bVar11) {
            iVar4 = 0xe;
            pbVar8 = __s1;
            pbVar10 = (byte *)"unsigned char";
            do {
              if (iVar4 == 0) break;
              iVar4 = iVar4 + -1;
              bVar12 = *pbVar8 < *pbVar10;
              bVar11 = *pbVar8 == *pbVar10;
              pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
              pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
            } while (bVar11);
            bVar13 = false;
            bVar11 = (!bVar12 && !bVar11) == bVar12;
            if (bVar11) {
              uVar17 = 1;
              uVar16 = 1;
            }
            else {
              iVar4 = 4;
              pbVar8 = __s1;
              pbVar10 = (byte *)0x33f85;
              do {
                if (iVar4 == 0) break;
                iVar4 = iVar4 + -1;
                bVar13 = *pbVar8 < *pbVar10;
                bVar11 = *pbVar8 == *pbVar10;
                pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
                pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
              } while (bVar11);
              bVar12 = false;
              bVar11 = (!bVar13 && !bVar11) == bVar13;
              if (bVar11) {
code_r0x00021b5b:
                uVar17 = 0;
                uVar16 = 4;
              }
              else {
                iVar4 = 0xd;
                pbVar8 = __s1;
                pbVar10 = (byte *)0x33f7c;
                do {
                  if (iVar4 == 0) break;
                  iVar4 = iVar4 + -1;
                  bVar12 = *pbVar8 < *pbVar10;
                  bVar11 = *pbVar8 == *pbVar10;
                  pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
                  pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
                } while (bVar11);
                bVar13 = false;
                bVar11 = (!bVar12 && !bVar11) == bVar12;
                if (!bVar11) {
                  iVar4 = 5;
                  pbVar8 = __s1;
                  pbVar10 = (byte *)0x33e51;
                  do {
                    if (iVar4 == 0) break;
                    iVar4 = iVar4 + -1;
                    bVar13 = *pbVar8 < *pbVar10;
                    bVar11 = *pbVar8 == *pbVar10;
                    pbVar8 = pbVar8 + (uint)bVar14 * -2 + 1;
                    pbVar10 = pbVar10 + (uint)bVar14 * -2 + 1;
                  } while (bVar11);
                  bVar12 = false;
                  bVar11 = (!bVar13 && !bVar11) == bVar13;
                  if (bVar11) goto code_r0x00021b5b;
                  iVar4 = 0xe;
                  pbVar8 = __s1;
                  pbVar10 = (byte *)"unsigned long";
                  do {
                    pbVar7 = pbVar8;
                    pbVar9 = pbVar10;
                    if (iVar4 == 0) break;
                    iVar4 = iVar4 + -1;
                    pbVar9 = pbVar10 + (uint)bVar14 * -2 + 1;
                    pbVar7 = pbVar8 + (uint)bVar14 * -2 + 1;
                    bVar12 = *pbVar8 < *pbVar10;
                    bVar11 = *pbVar8 == *pbVar10;
                    pbVar8 = pbVar7;
                    pbVar10 = pbVar9;
                  } while (bVar11);
                  if ((!bVar12 && !bVar11) != bVar12) {
                    iVar4 = strcmp((char *)__s1,"__int128");
                    if (iVar4 == 0) {
                      uVar17 = 0;
                      uVar16 = 0x10;
                      pbVar2 = (byte *)0x0;
                    }
                    else {
                      iVar4 = strcmp((char *)__s1,"unsigned __int128");
                      if (iVar4 == 0) {
                        uVar17 = 1;
                        uVar16 = 0x10;
                        pbVar2 = (byte *)0x0;
                      }
                      else {
                        iVar4 = strcmp((char *)__s1,"short");
                        if (iVar4 == 0) {
                          uVar17 = 0;
                          uVar16 = 2;
                          pbVar2 = pbVar7;
                        }
                        else {
                          iVar4 = strcmp((char *)__s1,"unsigned short");
                          if (iVar4 == 0) {
                            uVar17 = 1;
                            uVar16 = 2;
                            pbVar2 = __s1;
                          }
                          else {
                            puVar15 = &UNK_00033e56;
                            iVar5 = iVar4;
                            pbVar2 = (byte *)strcmp((char *)__s1,"void");
                            if (pbVar2 == (byte *)0x0) {
                              iVar4 = FUN_0001f810(param_1,puVar15,iVar4,iVar5);
                              goto code_r0x00021a32;
                            }
                            iVar4 = strcmp((char *)__s1,"wchar_t");
                            if (iVar4 == 0) goto code_r0x00021b6b;
                            iVar4 = strcmp((char *)__s1,"long long");
                            if (iVar4 == 0) {
                              uVar17 = 0;
                              uVar16 = 8;
                              pbVar2 = (byte *)0x0;
                            }
                            else {
                              iVar4 = strcmp((char *)__s1,"unsigned long long");
                              if (iVar4 != 0) {
                                iVar4 = strcmp((char *)__s1,"...");
                                if (iVar4 == 0) {
                                  if (param_5 != (undefined4 *)0x0) {
                                    iVar4 = 0;
                                    *param_5 = 1;
                                    goto code_r0x00021a32;
                                  }
                                  pcVar6 = "Unexpected demangled varargs\n";
                                  pbVar7 = pbVar9;
                                }
                                else {
                                  pcVar6 = "Unrecognized demangled builtin type\n";
                                }
                                iVar4 = 0;
                                pcVar6 = (char *)dcgettext(0,pcVar6,5,pbVar7);
                                fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6);
                                goto code_r0x00021a32;
                              }
                              uVar17 = 1;
                              uVar16 = 8;
                              pbVar2 = (byte *)0x0;
                            }
                          }
                        }
                      }
                    }
                    goto code_r0x00021a23;
                  }
                }
code_r0x00021b6b:
                uVar17 = 1;
                uVar16 = 4;
              }
            }
            goto code_r0x00021a23;
          }
          uVar16 = 0x10;
        }
      }
      iVar4 = FUN_0001f840(param_1,uVar16);
code_r0x00021a32:
      free(__s1);
      return iVar4;
    }
    pcVar6 = "Couldn\'t get demangled builtin type\n";
    break;
  case 0x29:
    if (param_3[2] == 0) {
      iVar4 = FUN_0001f810(param_1);
    }
    else {
      iVar4 = MASKED(0,0);
    }
    if (iVar4 == 0) {
      return 0;
    }
    iVar5 = FUN_00021c10(auStack_20);
    if (iVar5 == 0) {
      return 0;
    }
    iVar4 = FUN_0001fa00(param_1,iVar4,iVar5,auStack_20[0]);
    return iVar4;
  }
  uVar16 = 5;
  pcVar6 = (char *)dcgettext(0,pcVar6,5);
code_r0x000219f7:
  fprintf(*(FILE **)PTR_stderr_0003ffa8,pcVar6,uVar16);
  return 0;
}

