
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x00048bcf) */

void md_apply_fix(fixS *fixP,valueT *valP,segT seg)

{
  undefined4 *puVar1;
  uint uVar2;
  char *pcVar3;
  segT paVar4;
  char *format;
  bfd_reloc_code_real_type bVar5;
  symbolS *s;
  int iVar6;
  uint uVar7;
  uint uVar8;
  bfd_vma bVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  uint local_44;
  uint local_34;
  int local_30;
  uint local_2c;
  int local_28;
  
  bVar5 = fixP->fx_r_type;
  if (bVar5 - BFD_RELOC_MIPS_GOT_HI16 < 2) {
    return;
  }
  if ((fixP->fx_addsy == (symbolS *)0x0) && ((*(byte *)fixP & 1) == 0)) {
    *(byte *)fixP = *(byte *)fixP | 0x20;
  }
  puVar1 = (undefined4 *)fixP->tc_fix_data;
  if (puVar1 == (undefined4 *)0x0) {
    pcVar3 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);
    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3,bVar5);
    return;
  }
  pcVar3 = fixP->fx_frag->fr_literal + fixP->fx_where;
  if ((fixP->fx_size != 4) || (puVar1[2] == 0x20)) {
    number_to_chars_bigendian(pcVar3,*valP,(uint)fixP->fx_size);
    return;
  }
  bVar9 = (*stdoutput->xvec->bfd_getx32)(pcVar3);
  uVar7 = (uint)bVar9;
  switch(uVar7 >> 0x1a) {
  case 8:
  case 10:
    local_44 = 0x15;
    break;
  default:
    local_44 = 0x20;
    goto LAB_00048066;
  case 0xd:
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x18:
  case 0x19:
  case 0x1a:
  case 0x1b:
    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;
    break;
  case 0x14:
  case 0x1c:
    if (0x18 < stdoutput->arch_info->mach) {
      local_44 = 0xfffffff6;
      goto LAB_00048066;
    }
    local_44 = 10;
    break;
  case 0x16:
  case 0x17:
  case 0x1e:
  case 0x1f:
    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;
LAB_00048066:
    s = fixP->fx_addsy;
    if (s == (symbolS *)0x0) goto LAB_00048670;
    goto LAB_00048071;
  case 0x20:
  case 0x21:
  case 0x22:
  case 0x23:
  case 0x27:
  case 0x28:
  case 0x29:
  case 0x2a:
  case 0x2b:
  case 0x2f:
  case 0x30:
  case 0x31:
  case 0x32:
  case 0x33:
  case 0x3b:
    local_44 = 0xc;
    break;
  case 0x24:
  case 0x25:
  case 0x2c:
  case 0x2d:
    s = fixP->fx_addsy;
    local_44 = 0xb;
    if (s != (symbolS *)0x0) goto LAB_00048253;
    bVar5 = fixP->fx_r_type;
joined_r0x00048a45:
    if (bVar5 == _dummy_first_bfd_reloc_code_real) goto LAB_00048253;
    goto LAB_0004887b;
  case 0x38:
  case 0x39:
    local_44 = 0x11;
LAB_00047f58:
    s = fixP->fx_addsy;
    if (s == (symbolS *)0x0) {
      bVar5 = fixP->fx_r_type;
      goto joined_r0x00048a45;
    }
    if (local_44 == 0x11) goto LAB_00047f6e;
    if (local_44 != 0x16) goto LAB_00047ff3;
    local_34 = 8;
    goto LAB_00048094;
  case 0x3a:
    if ((bVar9 & 0x8000) != 0) {
      local_44 = 0x16;
      goto LAB_00047f58;
    }
    local_44 = 0x11;
  }
  s = fixP->fx_addsy;
  if (s != (symbolS *)0x0) {
    local_34 = 0;
    local_30 = 0;
    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto _L800;
LAB_00047fd9:
    if ((local_44 != 0x11) && (local_44 != 0xc)) {
      local_34 = 8;
      goto LAB_00048081;
    }
    if (s == (symbolS *)0x0) {
LAB_00047ff3:
      local_34 = 8;
      local_30 = 0;
      goto _L800;
    }
LAB_00047f6e:
    local_34 = 8;
    local_30 = 0;
    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0
       ) goto _L800;
    local_28 = *(int *)((int)valP + 4);
    local_2c = (uint)*valP;
    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);
    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;
    if (local_44 != 0x11) {
      if (local_44 != 0x16) goto _L800;
      goto LAB_000480dd;
    }
    iVar6 = local_28 + (uint)(0xfffc0007 < local_2c);
    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {
      iVar6 = S_IS_EXTERNAL(s);
      if ((iVar6 == 0) && (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0)) goto LAB_0004872d;
      local_28 = *(int *)((int)valP + 4);
      local_2c = (uint)*valP;
    }
    bVar5 = fixP->fx_r_type;
    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&
       (local_28 = local_28 + (uint)(0xfffc0007 < local_2c),
       local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8))) {
      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x3ffff;
      uVar10 = 0xfffc0000;
      uVar8 = local_2c - 8;
      goto LAB_00048a23;
    }
    local_34 = uVar7 & 0xffe0e002;
    goto LAB_000481c0;
  }
LAB_00048670:
  if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {
    s = (symbolS *)0x0;
    if (local_44 < 0x17) {
LAB_00048253:
      local_34 = 0;
      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;
    }
    else {
LAB_00048071:
      local_34 = 0;
    }
LAB_00048081:
    local_30 = 0;
    if (local_44 != 0x16) goto _L800;
    if (s == (symbolS *)0x0) goto _L857;
LAB_00048094:
    local_30 = 0;
    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0
       ) goto _L857;
    local_28 = *(int *)((int)valP + 4);
    local_2c = (uint)*valP;
    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);
    local_44 = 0x16;
    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {
LAB_000489d0:
      local_30 = 0;
      iVar6 = S_IS_EXTERNAL(s);
      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L800;
LAB_0004872d:
      local_30 = 0;
      paVar4 = S_GET_SEGMENT(fixP->fx_addsy);
      if ((paVar4 == (segT)puVar1[4]) &&
         ((fixP->fx_subsy == (symbolS *)0x0 ||
          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))) {
        local_34 = (uint)*valP;
        local_30 = *(int *)((int)valP + 4);
        switch(*puVar1) {
        case 0:
          break;
        case 1:
          local_30 = local_30 + (uint)(0xfffffbff < local_34);
          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;
          local_30 = local_30 >> 0xb;
          break;
        case 2:
          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);
          local_34 = uVar8 - 0x400;
          local_30 = (0x3ff < uVar8) - 1;
          break;
        case 3:
        case 7:
        case 10:
        case 0xb:
          local_34 = local_34 >> 0xb | local_30 << 0x15;
          local_30 = local_30 >> 0xb;
          break;
        case 4:
          local_30 = 0;
          local_34 = local_34 & 0x7ff;
          break;
        case 5:
          local_30 = local_30 + (uint)(0xfffff7ff < local_34);
          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;
          local_30 = local_30 >> 0xb;
          break;
        case 6:
          local_30 = -1;
          local_34 = local_34 | 0xfffff800;
          break;
        case 8:
          local_34 = local_34 & 0x7ff;
          local_30 = 0;
          break;
        case 9:
          local_34 = 0;
          local_30 = 0;
          break;
        default:
switchD_00048784_caseD_c:
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");
        }
      }
      goto _L800;
    }
LAB_000480dd:
    local_30 = 0;
    iVar6 = local_28 + (uint)(0xff800007 < local_2c);
    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {
      iVar6 = S_IS_EXTERNAL(s);
      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L857;
      goto LAB_0004872d;
    }
LAB_0004812d:
    bVar5 = fixP->fx_r_type;
    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&
       (local_28 = local_28 + (uint)(0xff800007 < local_2c),
       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8))) {
      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x7fffff;
      uVar10 = 0xff800000;
      uVar8 = local_2c - 8;
    }
    else {
      uVar8 = local_34 - 8;
      local_30 = local_30 + (uint)(0xff800007 < local_34);
      if (local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30) {
        uVar2 = ((int)uVar8 >> 2) << 5;
        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |
                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |
                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;
        goto LAB_000481c0;
      }
      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x7fffff;
      uVar10 = 0xff800000;
    }
LAB_00048a23:
    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar8);
    bVar5 = fixP->fx_r_type;
    local_34 = uVar7;
    goto LAB_000481c0;
  }
LAB_0004887b:
  local_34 = (uint)*valP;
  local_30 = *(int *)((int)valP + 4);
  switch(*puVar1) {
  case 0:
    if ((local_44 == 0x11) || (local_44 == 0xc)) goto _L800;
    goto LAB_000488ce;
  case 1:
    local_30 = local_30 + (uint)(0xfffffbff < local_34);
    local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;
    local_30 = local_30 >> 0xb;
    break;
  case 2:
    uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);
    local_34 = uVar8 - 0x400;
    local_30 = (0x3ff < uVar8) - 1;
    break;
  case 3:
  case 7:
  case 10:
  case 0xb:
    local_34 = local_34 >> 0xb | local_30 << 0x15;
    local_30 = local_30 >> 0xb;
    break;
  case 4:
    local_30 = 0;
    local_34 = local_34 & 0x7ff;
    break;
  case 5:
    local_30 = local_30 + (uint)(0xfffff7ff < local_34);
    local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;
    local_30 = local_30 >> 0xb;
    break;
  case 6:
    local_30 = -1;
    local_34 = local_34 | 0xfffff800;
    break;
  case 8:
    local_34 = local_34 & 0x7ff;
    local_30 = 0;
    break;
  case 9:
    local_34 = 0;
    local_30 = 0;
    break;
  default:
    goto switchD_00048784_caseD_c;
  }
  if ((local_44 != 0xc) && (local_44 != 0x11)) {
LAB_000488ce:
    if (local_44 != 0x16) goto _L800;
_L857:
    local_28 = *(int *)((int)valP + 4);
    local_2c = (uint)*valP;
    goto LAB_0004812d;
  }
_L800:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(local_44) {
  case 10:
    local_30 = local_30 + (uint)(0xffffdfff < local_34);
    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000)) goto LAB_00048a00;
    uVar7 = uVar7 & 0xffffc00e;
    uVar8 = local_34 * 2 & 0x3ff0;
LAB_00048451:
    bVar5 = fixP->fx_r_type;
    local_34 = uVar8 | (int)local_34 >> 0xd & 1U | uVar7;
    break;
  case 0xc:
    uVar8 = local_34 - 8;
    local_30 = local_30 + (uint)(0xffffe007 < local_34);
    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8)) {
      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x1fff;
      uVar10 = 0xffffe000;
      goto LAB_00048a23;
    }
    bVar5 = fixP->fx_r_type;
    local_34 = uVar8 * 2 & 0x1ff8 |
               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U | uVar7 & 0xffffe002;
    break;
  case 0xe:
    local_30 = local_30 + (uint)(0xffffdfff < local_34);
    if (local_30 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30) {
      uVar7 = uVar7 & 0xffffc000;
      uVar8 = local_34 * 2 & 0x3ffe;
      goto LAB_00048451;
    }
LAB_00048a00:
    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);
    uVar11 = 0x1fff;
    uVar10 = 0xffffe000;
    uVar8 = local_34;
    goto LAB_00048a23;
  case 0x10:
    uVar8 = local_34 & 0x8000;
    bVar5 = fixP->fx_r_type;
    local_34 = (int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |
               uVar7 & 0xffff0000 | (int)uVar8 >> 0xf;
    break;
  case 0x16:
    goto _L857;
  case 0x20:
    bVar5 = fixP->fx_r_type;
    break;
  case 0xfffffff0:
    uVar8 = local_34 * 2 & 0xfff8;
    uVar7 = uVar7 & 0xffff0006 | (int)(local_34 & 0x8000) >> 0xf;
    goto LAB_00048512;
  default:
    pcVar3 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);
    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3);
    return;
  case 0xfffffff6:
    uVar8 = local_34 * 2 & 0xfff0;
    uVar7 = uVar7 & 0xffff000e | (int)(local_34 & 0x8000) >> 0xf;
LAB_00048512:
    bVar5 = fixP->fx_r_type;
    local_34 = local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1 | uVar7;
  }
LAB_000481c0:
  if (bVar5 != BFD_RELOC_ALPHA_LITERAL) {
    if (bVar5 < BFD_RELOC_ALPHA_ELF_LITERAL) {
      if ((bVar5 != BFD_RELOC_SPU_LO16) &&
         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))) goto LAB_000481f6;
    }
    else if ((bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||
            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))))
    goto LAB_000481f6;
  }
  if (fixP->fx_addsy != (symbolS *)0x0) {
    S_SET_THREAD_LOCAL(fixP->fx_addsy);
  }
LAB_000481f6:
                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*stdoutput->xvec->bfd_putx32)((longlong)(int)local_34,pcVar3);
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x00048bcf) */

void FUN_00047e40(byte *param_1,uint *param_2)

{
  undefined4 *puVar1;
  uint uVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  int iVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  uint local_44;
  uint local_34;
  uint local_30;
  uint local_2c;
  uint local_28;
  
  iVar3 = *(int *)(param_1 + 0x30);
  if (iVar3 - 0xe8U < 2) {
    return;
  }
  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {
    *param_1 = *param_1 | 0x20;
  }
  puVar1 = *(undefined4 **)(param_1 + 0x44);
  if (puVar1 == (undefined4 *)0x0) {
    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);
    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);
    return;
  }
  iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);
  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {
    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);
    return;
  }
  uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);
  switch(uVar2 >> 0x1a) {
  case 8:
  case 10:
    local_44 = 0x15;
    break;
  default:
    local_44 = 0x20;
    goto LAB_00048066;
  case 0xd:
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x18:
  case 0x19:
  case 0x1a:
  case 0x1b:
    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10
    ;
    break;
  case 0x14:
  case 0x1c:
    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {
      local_44 = 0xfffffff6;
      goto LAB_00048066;
    }
    local_44 = 10;
    break;
  case 0x16:
  case 0x17:
  case 0x1e:
  case 0x1f:
    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;
LAB_00048066:
    iVar3 = *(int *)(param_1 + 0xc);
    if (iVar3 == 0) goto LAB_00048670;
    goto LAB_00048071;
  case 0x20:
  case 0x21:
  case 0x22:
  case 0x23:
  case 0x27:
  case 0x28:
  case 0x29:
  case 0x2a:
  case 0x2b:
  case 0x2f:
  case 0x30:
  case 0x31:
  case 0x32:
  case 0x33:
  case 0x3b:
    local_44 = 0xc;
    break;
  case 0x24:
  case 0x25:
  case 0x2c:
  case 0x2d:
    iVar3 = *(int *)(param_1 + 0xc);
    local_44 = 0xb;
    if (iVar3 != 0) goto LAB_00048253;
    iVar6 = *(int *)(param_1 + 0x30);
joined_r0x00048a45:
    if (iVar6 == 0) goto LAB_00048253;
    goto LAB_0004887b;
  case 0x38:
  case 0x39:
    local_44 = 0x11;
code_r0x00047f58:
    iVar3 = *(int *)(param_1 + 0xc);
    if (iVar3 == 0) {
      iVar6 = *(int *)(param_1 + 0x30);
      goto joined_r0x00048a45;
    }
    if (local_44 == 0x11) goto LAB_00047f6e;
    if (local_44 != 0x16) goto code_r0x00047ff3;
    local_34 = 8;
    goto code_r0x00048094;
  case 0x3a:
    if ((uVar2 & 0x8000) != 0) {
      local_44 = 0x16;
      goto code_r0x00047f58;
    }
    local_44 = 0x11;
  }
  iVar3 = *(int *)(param_1 + 0xc);
  if (iVar3 != 0) {
    local_34 = 0;
    local_30 = 0;
    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;
LAB_00047fd9:
    if ((local_44 != 0x11) && (local_44 != 0xc)) {
      local_34 = 8;
      goto LAB_00048081;
    }
    if (iVar3 == 0) {
code_r0x00047ff3:
      local_34 = 8;
      local_30 = 0;
      goto LAB_00047f87;
    }
LAB_00047f6e:
    local_34 = 8;
    local_30 = 0;
    if ((*param_1 & 1) == 0) goto LAB_00047f87;
    local_28 = param_2[1];
    local_2c = *param_2;
    iVar6 = local_28 + (0xffffe007 < local_2c);
    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;
    if (local_44 != 0x11) {
      if (local_44 != 0x16) goto LAB_00047f87;
      goto LAB_000480dd;
    }
    iVar6 = local_28 + (0xfffc0007 < local_2c);
    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {
      iVar3 = FUN_0003aef0(iVar3);
      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))
      goto LAB_0004872d;
      local_28 = param_2[1];
      local_2c = *param_2;
    }
    uVar4 = *(uint *)(param_1 + 0x30);
    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&
       (iVar3 = local_28 + (0xfffc0007 < local_2c),
       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {
      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x3ffff;
      uVar7 = 0xfffc0000;
      uVar2 = local_2c - 8;
      goto LAB_00048a23;
    }
    goto LAB_000481c0;
  }
LAB_00048670:
  if (*(int *)(param_1 + 0x30) == 0) {
    iVar3 = 0;
    if (local_44 < 0x17) {
LAB_00048253:
      local_34 = 0;
      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;
    }
    else {
LAB_00048071:
      local_34 = 0;
    }
LAB_00048081:
    local_30 = 0;
    if (local_44 != 0x16) goto LAB_00047f87;
    if (iVar3 == 0) goto LAB_0004811d;
code_r0x00048094:
    local_30 = 0;
    if ((*param_1 & 1) == 0) goto LAB_0004811d;
    local_28 = param_2[1];
    local_2c = *param_2;
    iVar6 = local_28 + (0xffffe007 < local_2c);
    local_44 = 0x16;
    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {
LAB_000489d0:
      local_30 = 0;
      iVar3 = FUN_0003aef0(iVar3);
      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))
      goto LAB_00047f87;
LAB_0004872d:
      local_30 = 0;
      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));
      if ((iVar3 == puVar1[4]) &&
         ((*(int *)(param_1 + 0x10) == 0 ||
          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {
        local_34 = *param_2;
        local_30 = param_2[1];
        switch(*puVar1) {
        case 0:
          break;
        case 1:
          iVar3 = local_30 + (0xfffffbff < local_34);
          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;
          local_30 = iVar3 >> 0xb;
          break;
        case 2:
          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);
          local_34 = uVar4 - 0x400;
          local_30 = (0x3ff < uVar4) - 1;
          break;
        case 3:
        case 7:
        case 10:
        case 0xb:
          local_34 = local_34 >> 0xb | local_30 << 0x15;
          local_30 = (int)local_30 >> 0xb;
          break;
        case 4:
          local_30 = 0;
          local_34 = local_34 & 0x7ff;
          break;
        case 5:
          iVar3 = local_30 + (0xfffff7ff < local_34);
          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;
          local_30 = iVar3 >> 0xb;
          break;
        case 6:
          local_30 = 0xffffffff;
          local_34 = local_34 | 0xfffff800;
          break;
        case 8:
          local_34 = local_34 & 0x7ff;
          local_30 = 0;
          break;
        case 9:
          local_34 = 0;
          local_30 = 0;
          break;
        default:
LAB_00048c4c:
                    /* WARNING: Subroutine does not return */
          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);
        }
      }
      goto LAB_00047f87;
    }
LAB_000480dd:
    local_30 = 0;
    iVar6 = local_28 + (0xff800007 < local_2c);
    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {
      iVar3 = FUN_0003aef0(iVar3);
      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))
      goto LAB_0004811d;
      goto LAB_0004872d;
    }
LAB_0004812d:
    uVar4 = *(uint *)(param_1 + 0x30);
    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&
       (iVar3 = local_28 + (0xff800007 < local_2c),
       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {
      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x7fffff;
      uVar7 = 0xff800000;
      uVar2 = local_2c - 8;
    }
    else {
      iVar3 = local_30 + (0xff800007 < local_34);
      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;
      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x7fffff;
      uVar7 = 0xff800000;
      uVar2 = local_34 - 8;
    }
LAB_00048a23:
    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,
                 uVar2);
    uVar4 = *(uint *)(param_1 + 0x30);
    goto LAB_000481c0;
  }
LAB_0004887b:
  local_34 = *param_2;
  local_30 = param_2[1];
  switch(*puVar1) {
  case 0:
    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;
    goto code_r0x000488ce;
  case 1:
    iVar3 = local_30 + (0xfffffbff < local_34);
    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;
    local_30 = iVar3 >> 0xb;
    break;
  case 2:
    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);
    local_34 = uVar4 - 0x400;
    local_30 = (0x3ff < uVar4) - 1;
    break;
  case 3:
  case 7:
  case 10:
  case 0xb:
    local_34 = local_34 >> 0xb | local_30 << 0x15;
    local_30 = (int)local_30 >> 0xb;
    break;
  case 4:
    local_30 = 0;
    local_34 = local_34 & 0x7ff;
    break;
  case 5:
    iVar3 = local_30 + (0xfffff7ff < local_34);
    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;
    local_30 = iVar3 >> 0xb;
    break;
  case 6:
    local_30 = 0xffffffff;
    local_34 = local_34 | 0xfffff800;
    break;
  case 8:
    local_34 = local_34 & 0x7ff;
    local_30 = 0;
    break;
  case 9:
    local_34 = 0;
    local_30 = 0;
    break;
  default:
    goto LAB_00048c4c;
  }
  if ((local_44 != 0xc) && (local_44 != 0x11)) {
code_r0x000488ce:
    if (local_44 != 0x16) goto LAB_00047f87;
LAB_0004811d:
    local_28 = param_2[1];
    local_2c = *param_2;
    goto LAB_0004812d;
  }
LAB_00047f87:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(local_44) {
  case 10:
    iVar3 = local_30 + (0xffffdfff < local_34);
    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;
code_r0x000483f8:
    uVar4 = *(uint *)(param_1 + 0x30);
    break;
  case 0xc:
    uVar2 = local_34 - 8;
    iVar3 = local_30 + (0xffffe007 < local_34);
    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {
      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x1fff;
      uVar7 = 0xffffe000;
      goto LAB_00048a23;
    }
    uVar4 = *(uint *)(param_1 + 0x30);
    break;
  case 0xe:
    iVar3 = local_30 + (0xffffdfff < local_34);
    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;
code_r0x00048a00:
    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
    uVar8 = 0x1fff;
    uVar7 = 0xffffe000;
    uVar2 = local_34;
    goto LAB_00048a23;
  case 0x10:
    uVar4 = *(uint *)(param_1 + 0x30);
    break;
  case 0x16:
    goto LAB_0004811d;
  case 0x20:
    uVar4 = *(uint *)(param_1 + 0x30);
    break;
  case 0xfffffff0:
    goto code_r0x00048512;
  default:
    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);
    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);
    return;
  case 0xfffffff6:
code_r0x00048512:
    uVar4 = *(uint *)(param_1 + 0x30);
  }
LAB_000481c0:
  if (uVar4 != 0xa6) {
    if (uVar4 < 0xa7) {
      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;
    }
    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;
  }
  if (*(int *)(param_1 + 0xc) != 0) {
    FUN_0003dc90(*(int *)(param_1 + 0xc));
  }
LAB_000481f6:
                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00018ff0
ADD EBX,0x381b7
SUB ESP,0x3c
MOV ESI,dword ptr [ESP + 0x50]
MOV EAX,dword ptr [ESP + 0x54]
MOV EBP,dword ptr [ESI + 0x30]
MOV dword ptr [ESP],EAX
LEA EAX,[EBP + 0xffffff18]
CMP EAX,0x1
JBE 0x00047efe
MOV EAX,dword ptr [ESI + 0xc]
TEST EAX,EAX
JZ 0x00047f10
MOV EDI,dword ptr [ESI + 0x44]
TEST EDI,EDI
JZ 0x00047f28
MOV EDX,dword ptr [ESI + 0x4]
MOV EAX,dword ptr [ESI + 0x8]
LEA EAX,[EDX + EAX*0x1 + 0x4c]
MOV dword ptr [ESP + 0x10],EAX
MOVZX EAX,byte ptr [ESI + 0x2]
CMP AL,0x4
JNZ 0x00047ee8
CMP dword ptr [EDI + 0x8],0x20
JZ 0x00047ee8
LEA EAX,[EBX + 0x8f24]
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x4]
PUSH dword ptr [ESP + 0x1c]
CALL dword ptr [EAX + 0x28]
MOV EBP,EAX
MOV EAX,dword ptr [ESP + 0x24]
ADD ESP,0x10
MOV EDX,dword ptr [EAX]
MOV EAX,EBP
SHR EAX,0x1a
SUB EAX,0x8
CMP EAX,0x33
JA 0x00048558
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfffe2000]
ADD ECX,EBX
JMP ECX
PUSH EAX
MOV EAX,dword ptr [ESP + 0x4]
PUSH dword ptr [EAX + 0x4]
PUSH dword ptr [EAX]
PUSH dword ptr [ESP + 0x1c]
CALL 0x00043da0
ADD ESP,0x10
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOVZX EAX,byte ptr [ESI]
TEST AL,0x1
JNZ 0x00047e7a
OR EAX,0x20
MOV byte ptr [ESI],AL
JMP 0x00047e7a
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe1a9c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
PUSH EBP
PUSH EAX
PUSH dword ptr [ESI + 0x40]
PUSH dword ptr [ESI + 0x3c]
CALL 0x0002ece0
ADD ESP,0x20
JMP 0x00047efe
MOV dword ptr [ESP + 0x18],0x8
MOV dword ptr [ESP + 0x1c],0x0
TEST byte ptr [ESI],0x1
JNZ 0x00048690
MOV EAX,dword ptr [ESP + 0x8]
ADD EAX,0x10
CMP EAX,0x30
JA 0x00048568
MOV EDI,dword ptr [EBX + EAX*0x4 + 0xfffe20d0]
ADD EDI,EBX
JMP EDI
MOV EAX,dword ptr [ESP + 0x8]
CMP EAX,0x11
JZ 0x00047feb
CMP EAX,0xc
JNZ 0x00048c65
TEST ECX,ECX
JNZ 0x00047f6e
MOV dword ptr [ESP + 0x18],0x8
MOV dword ptr [ESP + 0x1c],0x0
JMP 0x00047f87
MOV ECX,dword ptr [ESI + 0xc]
TEST ECX,ECX
JZ 0x00048670
MOV dword ptr [ESP + 0x18],0x0
MOV dword ptr [ESP + 0x1c],0x0
CMP dword ptr [ESP + 0x8],0x16
JNZ 0x00047f87
TEST ECX,ECX
JZ 0x0004811d
TEST byte ptr [ESI],0x1
JZ 0x0004811d
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x20],EAX
ADD EAX,0x1ff8
MOV dword ptr [ESP + 0x24],EDX
ADC EDX,0x0
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,0x3fff
CMP EAX,dword ptr [ESP + 0x8]
MOV EAX,0x0
MOV dword ptr [ESP + 0xc],EDX
SBB EAX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x8],0x16
JNC 0x000489d0
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x24]
ADD EAX,0x7ffff8
ADC EDX,0x0
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,0xffffff
CMP EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x2c],EDX
MOV EAX,0x0
SBB EAX,dword ptr [ESP + 0x2c]
JC 0x0004812d
SUB ESP,0xc
PUSH ECX
CALL 0x0003aef0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00048c04
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x24],EDX
MOV dword ptr [ESP + 0x20],EAX
MOV ECX,dword ptr [ESI + 0x30]
CMP ECX,0xa
JZ 0x00048a5d
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x1c]
MOV EDI,EAX
SUB EDI,0x8
ADD EAX,0x7ffff8
ADC EDX,0x0
MOV dword ptr [ESP],EAX
MOV EAX,0xffffff
CMP EAX,dword ptr [ESP]
MOV dword ptr [ESP + 0x4],EDX
MOV EAX,0x0
SBB EAX,dword ptr [ESP + 0x4]
JC 0x00048baa
MOV EDX,EDI
MOV EAX,EDI
SAR EDI,0xa
SAR EDX,0x17
SAR EAX,0x2
AND EDI,0x4
AND EDX,0x1
MOV dword ptr [ESP],EAX
SHL EAX,0x5
OR EDI,EDX
MOV EDX,EBP
MOV EBP,EAX
AND EAX,0x1f0000
AND EDX,0xfc00e002
AND EBP,0x3e00000
OR EDI,EDX
OR EDI,EBP
OR EDI,EAX
MOV EAX,dword ptr [ESP]
MOV EDX,EDI
LEA EDI,[EAX*0x8 + 0x0]
AND EDI,0x1ff8
OR EDI,EDX
MOV EBP,EDI
LEA ESI,[ESI]
NOP
CMP ECX,0xa6
JZ 0x00048653
JA 0x00048630
CMP ECX,0x9e
JZ 0x00048653
CMP ECX,0xa2
JZ 0x00048653
CMP ECX,0x9a
JZ 0x00048653
MOV EAX,dword ptr [ESP + 0x14]
MOV EBX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x50],EBP
SAR EBP,0x1f
MOV dword ptr [ESP + 0x58],EBX
MOV dword ptr [ESP + 0x54],EBP
MOV EAX,dword ptr [EAX + 0x30]
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
JMP EAX
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,0x421000
MOV dword ptr [ESP + 0x18],0x0
MOV dword ptr [ESP + 0x1c],0x0
BT EAX,EDX
JNC 0x00048081
JMP 0x00047fd9
MOV dword ptr [ESP + 0x8],0x20
JMP 0x00048066
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe1ae8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
ADD ESP,0xc
PUSH EAX
PUSH dword ptr [ESI + 0x40]
PUSH dword ptr [ESI + 0x3c]
CALL 0x0002ece0
ADD ESP,0x10
JMP 0x00047efe
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x24],EDX
MOV dword ptr [ESP + 0x20],EAX
MOV ECX,dword ptr [ESI + 0x30]
CMP ECX,0xa
JZ 0x00048ac9
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x1c]
MOV EDI,EAX
SUB EDI,0x8
ADD EAX,0x3fff8
ADC EDX,0x0
MOV dword ptr [ESP],EAX
MOV EAX,0x7ffff
CMP EAX,dword ptr [ESP]
MOV dword ptr [ESP + 0x4],EDX
MOV EAX,0x0
SBB EAX,dword ptr [ESP + 0x4]
JC 0x00048bcf
MOV EAX,EDI
MOV EDX,EDI
SAR EAX,0x12
SAR EDX,0x2
AND EAX,0x1
MOV dword ptr [ESP],EAX
MOV EAX,EDI
MOV EDI,EBP
SAR EAX,0xa
AND EDI,0xffe0e002
AND EAX,0x4
OR EAX,dword ptr [ESP]
OR EAX,EDI
MOV EDI,EDX
SHL EDX,0x3
SHL EDI,0x5
AND EDX,0x1ff8
AND EDI,0x1f0000
OR EDI,EAX
OR EDX,EDI
MOV EBP,EDX
JMP 0x000481c0
CMP ECX,0xea
JC 0x000481f6
CMP ECX,0xeb
JBE 0x00048653
SUB ECX,0xed
CMP ECX,0x1
JA 0x000481f6
MOV EAX,dword ptr [ESI + 0xc]
TEST EAX,EAX
JZ 0x000481f6
SUB ESP,0xc
PUSH EAX
CALL 0x0003dc90
ADD ESP,0x10
JMP 0x000481f6
MOV EAX,dword ptr [ESI + 0x30]
TEST EAX,EAX
JNZ 0x0004887b
XOR ECX,ECX
CMP dword ptr [ESP + 0x8],0x16
JA 0x00048071
JMP 0x00048253
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x20],EAX
ADD EAX,0x1ff8
MOV dword ptr [ESP + 0x24],EDX
ADC EDX,0x0
MOV dword ptr [ESP + 0x2c],EDX
MOV EDX,0x3fff
MOV dword ptr [ESP + 0x28],EAX
CMP EDX,dword ptr [ESP + 0x28]
MOV EDX,0x0
SBB EDX,dword ptr [ESP + 0x2c]
JNC 0x000489d0
CMP dword ptr [ESP + 0x8],0x11
JNZ 0x00048bf4
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x24]
ADD EAX,0x3fff8
ADC EDX,0x0
MOV dword ptr [ESP + 0x28],EAX
MOV dword ptr [ESP + 0x2c],EDX
MOV EDX,0x7ffff
CMP EDX,dword ptr [ESP + 0x28]
MOV EDX,0x0
SBB EDX,dword ptr [ESP + 0x2c]
JC 0x000485a8
SUB ESP,0xc
PUSH ECX
CALL 0x0003aef0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00048598
SUB ESP,0xc
PUSH dword ptr [ESI + 0xc]
CALL 0x0003af60
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00048598
SUB ESP,0xc
PUSH dword ptr [ESI + 0xc]
CALL 0x0003b4a0
ADD ESP,0x10
CMP EAX,dword ptr [EDI + 0x10]
JNZ 0x00047f87
MOV EAX,dword ptr [ESI + 0x10]
TEST EAX,EAX
JZ 0x00048760
SUB ESP,0xc
PUSH EAX
CALL 0x0003b4a0
ADD ESP,0x10
CMP EAX,dword ptr [EDI + 0x10]
JNZ 0x00047f87
MOV EAX,dword ptr [ESP]
CMP dword ptr [EDI],0xb
MOV ECX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x18],ECX
MOV dword ptr [ESP + 0x1c],EAX
JA 0x00048c4c
MOV EAX,dword ptr [EDI]
MOV EDI,dword ptr [EBX + EAX*0x4 + 0xfffe2194]
ADD EDI,EBX
JMP EDI
MOV EDX,dword ptr [ESP]
CMP dword ptr [EDI],0xb
MOV EAX,dword ptr [EDX]
MOV EDX,dword ptr [EDX + 0x4]
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EDX
JA 0x00048c4c
MOV ECX,dword ptr [EDI]
MOV EDI,dword ptr [EBX + ECX*0x4 + 0xfffe21c4]
ADD EDI,EBX
JMP EDI
SUB ESP,0xc
PUSH ECX
CALL 0x0003aef0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00047f87
SUB ESP,0xc
PUSH dword ptr [ESI + 0xc]
CALL 0x0003af60
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00047f87
JMP 0x0004872d
PUSH EAX
PUSH dword ptr [ESI + 0x40]
PUSH dword ptr [ESI + 0x3c]
CALL 0x0002ece0
MOV ECX,dword ptr [ESI + 0x30]
ADD ESP,0x20
JMP 0x000481c0
MOV EAX,EBP
AND EAX,0xffe00000
CMP EAX,0xe8000000
JNZ 0x00048139
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x24]
ADD EAX,0x7ffff8
ADC EDX,0x0
MOV dword ptr [ESP],EAX
MOV EAX,0xffffff
CMP EAX,dword ptr [ESP]
MOV dword ptr [ESP + 0x4],EDX
MOV EAX,0x0
SBB EAX,dword ptr [ESP + 0x4]
JNC 0x00048139
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe1ac4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
POP ECX
POP EDI
MOV EDX,dword ptr [ESP + 0x28]
SUB EDX,0x8
PUSH EDX
PUSH 0x7fffff
PUSH 0xff800000
JMP 0x00048a23
MOV EAX,EBP
AND EAX,0xffe00000
CMP EAX,0xe8000000
JNZ 0x000485b4
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x24]
ADD EAX,0x3fff8
ADC EDX,0x0
MOV dword ptr [ESP],EAX
MOV EAX,0x7ffff
CMP EAX,dword ptr [ESP]
MOV dword ptr [ESP + 0x4],EDX
MOV EAX,0x0
SBB EAX,dword ptr [ESP + 0x4]
JNC 0x000485b4
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe1ac4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
POP EDI
POP EDX
MOV EDX,dword ptr [ESP + 0x28]
SUB EDX,0x8
PUSH EDX
PUSH 0x3ffff
PUSH 0xfffc0000
JMP 0x00048a23
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe1ac4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
POP ECX
POP EDX
PUSH EDI
PUSH 0x7fffff
PUSH 0xff800000
JMP 0x00048a23
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe1ac4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
POP EDX
POP ECX
PUSH EDI
PUSH 0x3ffff
PUSH 0xfffc0000
JMP 0x00048a23
CMP dword ptr [ESP + 0x8],0x16
JNZ 0x00047f87
JMP 0x000480dd
SUB ESP,0xc
PUSH dword ptr [ESI + 0xc]
CALL 0x0003af60
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004872d
JMP 0x0004811d
LEA EAX,[EBX + 0xfffe2ad4]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffdff53]
PUSH 0x176
PUSH EAX
CALL 0x0002edb0
MOV dword ptr [ESP + 0x18],0x8
MOV dword ptr [ESP + 0x1c],0x0
JMP 0x00048081
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Removing unreachable block (ram,0x00048bcf) */\n\nvoid FUN_00047e40(byte *param_1,uint *param_2)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_44;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  \n  iVar3 = *(int *)(param_1 + 0x30);\n  if (iVar3 - 0xe8U < 2) {\n    return;\n  }\n  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {\n    *param_1 = *param_1 | 0x20;\n  }\n  puVar1 = *(undefined4 **)(param_1 + 0x44);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if (iVar3 != 0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }\nLAB_00048670:\n  if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }\nLAB_0004887b:\n  local_34 = *param_2;\n  local_30 = param_2[1];\n  switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }\n  if ((local_44 != 0xc) && (local_44 != 0x11)) {\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }\nLAB_00047f87:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }\nLAB_000481c0:\n  if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }\nLAB_000481f6:\n                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();\n  return;\n}\n\n" comment comment (function_definition "void FUN_00047e40(byte *param_1,uint *param_2)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_44;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  \n  iVar3 = *(int *)(param_1 + 0x30);\n  if (iVar3 - 0xe8U < 2) {\n    return;\n  }\n  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {\n    *param_1 = *param_1 | 0x20;\n  }\n  puVar1 = *(undefined4 **)(param_1 + 0x44);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if (iVar3 != 0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }\nLAB_00048670:\n  if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }\nLAB_0004887b:\n  local_34 = *param_2;\n  local_30 = param_2[1];\n  switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }\n  if ((local_44 != 0xc) && (local_44 != 0x11)) {\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }\nLAB_00047f87:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }\nLAB_000481c0:\n  if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }\nLAB_000481f6:\n                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();\n  return;\n}" primitive_type (function_declarator "FUN_00047e40(byte *param_1,uint *param_2)" identifier (parameter_list "(byte *param_1,uint *param_2)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_44;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  \n  iVar3 = *(int *)(param_1 + 0x30);\n  if (iVar3 - 0xe8U < 2) {\n    return;\n  }\n  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {\n    *param_1 = *param_1 | 0x20;\n  }\n  puVar1 = *(undefined4 **)(param_1 + 0x44);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if (iVar3 != 0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }\nLAB_00048670:\n  if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }\nLAB_0004887b:\n  local_34 = *param_2;\n  local_30 = param_2[1];\n  switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }\n  if ((local_44 != 0xc) && (local_44 != 0x11)) {\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }\nLAB_00047f87:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }\nLAB_000481c0:\n  if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }\nLAB_000481f6:\n                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (expression_statement "iVar3 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 - 0xe8U < 2) {\n    return;\n  }" if (parenthesized_expression "(iVar3 - 0xe8U < 2)" ( (binary_expression "iVar3 - 0xe8U < 2" (binary_expression "iVar3 - 0xe8U" identifier - number_literal) < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {\n    *param_1 = *param_1 | 0x20;\n  }" if (parenthesized_expression "((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0))" ( (binary_expression "(*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)" (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" ( (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*param_1 & 1) == 0)" ( (binary_expression "(*param_1 & 1) == 0" (parenthesized_expression "(*param_1 & 1)" ( (binary_expression "*param_1 & 1" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    *param_1 = *param_1 | 0x20;\n  }" { (expression_statement "*param_1 = *param_1 | 0x20;" (assignment_expression "*param_1 = *param_1 | 0x20" (pointer_expression "*param_1" * identifier) = (binary_expression "*param_1 | 0x20" (pointer_expression "*param_1" * identifier) | number_literal)) ;) })) (expression_statement "puVar1 = *(undefined4 **)(param_1 + 0x44);" (assignment_expression "puVar1 = *(undefined4 **)(param_1 + 0x44)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x44)" * (cast_expression "(undefined4 **)(param_1 + 0x44)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) ;) (if_statement "if (puVar1 == (undefined4 *)0x0) {\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }" { (expression_statement "uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);" (assignment_expression "uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5)" identifier = (call_expression "dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5)" identifier (argument_list "(0,"no hppa_fixup entry for fixup type 0x%x",5)" ( number_literal , (string_literal ""no hppa_fixup entry for fixup type 0x%x"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);" (call_expression "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);" (assignment_expression "iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" identifier = (binary_expression "*(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" (binary_expression "*(int *)(param_1 + 4) + 0x4c" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) + number_literal) + (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))))) ;) (if_statement "if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }" if (parenthesized_expression "((param_1[2] != 4) || (puVar1[2] == 0x20))" ( (binary_expression "(param_1[2] != 4) || (puVar1[2] == 0x20)" (parenthesized_expression "(param_1[2] != 4)" ( (binary_expression "param_1[2] != 4" (subscript_expression "param_1[2]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(puVar1[2] == 0x20)" ( (binary_expression "puVar1[2] == 0x20" (subscript_expression "puVar1[2]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }" { (expression_statement "FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);" (call_expression "FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2])" identifier (argument_list "(iVar3,*param_2,param_2[1],param_1[2])" ( identifier , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) , (subscript_expression "param_1[2]" identifier [ number_literal ]) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);" (assignment_expression "uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3)" identifier = (call_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))" ( (pointer_expression "**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28)" * (pointer_expression "*(code **)(*(int *)(DAT_00088f24 + 4) + 0x28)" * (cast_expression "(code **)(*(int *)(DAT_00088f24 + 4) + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00088f24 + 4) + 0x28)" ( (binary_expression "*(int *)(DAT_00088f24 + 4) + 0x28" (pointer_expression "*(int *)(DAT_00088f24 + 4)" * (cast_expression "(int *)(DAT_00088f24 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088f24 + 4)" ( (binary_expression "DAT_00088f24 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) (switch_statement "switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }" switch (parenthesized_expression "(uVar2 >> 0x1a)" ( (binary_expression "uVar2 >> 0x1a" identifier >> number_literal) )) (compound_statement "{\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }" { (case_statement "case 8:" case number_literal :) (case_statement "case 10:\n    local_44 = 0x15;\n    break;" case number_literal : (expression_statement "local_44 = 0x15;" (assignment_expression "local_44 = 0x15" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n    local_44 = 0x20;\n    goto LAB_00048066;" default : (expression_statement "local_44 = 0x20;" (assignment_expression "local_44 = 0x20" identifier = number_literal) ;) (goto_statement "goto LAB_00048066;" goto statement_identifier ;)) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x11:" case number_literal :) (case_statement "case 0x12:" case number_literal :) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x18:" case number_literal :) (case_statement "case 0x19:" case number_literal :) (case_statement "case 0x1a:" case number_literal :) (case_statement "case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;" case number_literal : (expression_statement "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;" (assignment_expression "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10" identifier = (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe)" ( (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" - (call_expression "(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" ( (binary_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (binary_expression "*(int *)(DAT_00088f24 + 0x84) + 0x10" (pointer_expression "*(int *)(DAT_00088f24 + 0x84)" * (cast_expression "(int *)(DAT_00088f24 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088f24 + 0x84)" ( (binary_expression "DAT_00088f24 + 0x84" identifier + number_literal) )))) + number_literal) )))) < number_literal) )))) & number_literal) )) + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;" case number_literal : (if_statement "if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }" if (parenthesized_expression "(0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10))" ( (binary_expression "0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" number_literal < (pointer_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (binary_expression "*(int *)(DAT_00088f24 + 0x84) + 0x10" (pointer_expression "*(int *)(DAT_00088f24 + 0x84)" * (cast_expression "(int *)(DAT_00088f24 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088f24 + 0x84)" ( (binary_expression "DAT_00088f24 + 0x84" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }" { (expression_statement "local_44 = 0xfffffff6;" (assignment_expression "local_44 = 0xfffffff6" identifier = number_literal) ;) (goto_statement "goto LAB_00048066;" goto statement_identifier ;) })) (expression_statement "local_44 = 10;" (assignment_expression "local_44 = 10" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x1e:" case number_literal :) (case_statement "case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;" case number_literal : (expression_statement "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;" (assignment_expression "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10" identifier = (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5)" ( (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" - (call_expression "(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" ( (binary_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (binary_expression "*(int *)(DAT_00088f24 + 0x84) + 0x10" (pointer_expression "*(int *)(DAT_00088f24 + 0x84)" * (cast_expression "(int *)(DAT_00088f24 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088f24 + 0x84)" ( (binary_expression "DAT_00088f24 + 0x84" identifier + number_literal) )))) + number_literal) )))) < number_literal) )))) & number_literal) )) - number_literal)) ;) (labeled_statement "LAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);" statement_identifier : (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;)) (if_statement "if (iVar3 == 0) goto LAB_00048670;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00048670;" goto statement_identifier ;)) (goto_statement "goto LAB_00048071;" goto statement_identifier ;)) (case_statement "case 0x20:" case number_literal :) (case_statement "case 0x21:" case number_literal :) (case_statement "case 0x22:" case number_literal :) (case_statement "case 0x23:" case number_literal :) (case_statement "case 0x27:" case number_literal :) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x29:" case number_literal :) (case_statement "case 0x2a:" case number_literal :) (case_statement "case 0x2b:" case number_literal :) (case_statement "case 0x2f:" case number_literal :) (case_statement "case 0x30:" case number_literal :) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x3b:\n    local_44 = 0xc;\n    break;" case number_literal : (expression_statement "local_44 = 0xc;" (assignment_expression "local_44 = 0xc" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x24:" case number_literal :) (case_statement "case 0x25:" case number_literal :) (case_statement "case 0x2c:" case number_literal :) (case_statement "case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;" case number_literal : (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_44 = 0xb;" (assignment_expression "local_44 = 0xb" identifier = number_literal) ;) (if_statement "if (iVar3 != 0) goto LAB_00048253;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00048253;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;" statement_identifier : (if_statement "if (iVar6 == 0) goto LAB_00048253;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00048253;" goto statement_identifier ;))) (goto_statement "goto LAB_0004887b;" goto statement_identifier ;)) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;" case number_literal : (expression_statement "local_44 = 0x11;" (assignment_expression "local_44 = 0x11" identifier = number_literal) ;) (labeled_statement "code_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);" statement_identifier : (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;)) (if_statement "if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }" { (expression_statement "iVar6 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x00048a45;" goto statement_identifier ;) })) (if_statement "if (local_44 == 0x11) goto LAB_00047f6e;" if (parenthesized_expression "(local_44 == 0x11)" ( (binary_expression "local_44 == 0x11" identifier == number_literal) )) (goto_statement "goto LAB_00047f6e;" goto statement_identifier ;)) (if_statement "if (local_44 != 0x16) goto code_r0x00047ff3;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto code_r0x00047ff3;" goto statement_identifier ;)) (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;) (goto_statement "goto code_r0x00048094;" goto statement_identifier ;)) (case_statement "case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;" case number_literal : (if_statement "if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }" if (parenthesized_expression "((uVar2 & 0x8000) != 0)" ( (binary_expression "(uVar2 & 0x8000) != 0" (parenthesized_expression "(uVar2 & 0x8000)" ( (binary_expression "uVar2 & 0x8000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }" { (expression_statement "local_44 = 0x16;" (assignment_expression "local_44 = 0x16" identifier = number_literal) ;) (goto_statement "goto code_r0x00047f58;" goto statement_identifier ;) })) (expression_statement "local_44 = 0x11;" (assignment_expression "local_44 = 0x11" identifier = number_literal) ;)) })) (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 != 0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }" { (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;" if (parenthesized_expression "((0x421000U >> (local_44 & 0x1f) & 1) == 0)" ( (binary_expression "(0x421000U >> (local_44 & 0x1f) & 1) == 0" (parenthesized_expression "(0x421000U >> (local_44 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (local_44 & 0x1f) & 1" (binary_expression "0x421000U >> (local_44 & 0x1f)" number_literal >> (parenthesized_expression "(local_44 & 0x1f)" ( (binary_expression "local_44 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (labeled_statement "LAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }" statement_identifier : (if_statement "if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }" if (parenthesized_expression "((local_44 != 0x11) && (local_44 != 0xc))" ( (binary_expression "(local_44 != 0x11) && (local_44 != 0xc)" (parenthesized_expression "(local_44 != 0x11)" ( (binary_expression "local_44 != 0x11" identifier != number_literal) )) && (parenthesized_expression "(local_44 != 0xc)" ( (binary_expression "local_44 != 0xc" identifier != number_literal) ))) )) (compound_statement "{\n      local_34 = 8;\n      goto LAB_00048081;\n    }" { (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_00048081;" goto statement_identifier ;) }))) (if_statement "if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }" { (labeled_statement "code_r0x00047ff3:\n      local_34 = 8;" statement_identifier : (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;)) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;) })) (labeled_statement "LAB_00047f6e:\n    local_34 = 8;" statement_identifier : (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;)) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if ((*param_1 & 1) == 0) goto LAB_00047f87;" if (parenthesized_expression "((*param_1 & 1) == 0)" ( (binary_expression "(*param_1 & 1) == 0" (parenthesized_expression "(*param_1 & 1)" ( (binary_expression "*param_1 & 1" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "iVar6 = local_28 + (0xffffe007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xffffe007 < local_2c)" identifier = (binary_expression "local_28 + (0xffffe007 < local_2c)" identifier + (parenthesized_expression "(0xffffe007 < local_2c)" ( (binary_expression "0xffffe007 < local_2c" number_literal < identifier) )))) ;) (if_statement "if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;" if (parenthesized_expression "(iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (call_expression "(uint)(0x3fff < local_2c + 0x1ff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_2c + 0x1ff8)" ( (binary_expression "0x3fff < local_2c + 0x1ff8" number_literal < (binary_expression "local_2c + 0x1ff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (goto_statement "goto LAB_000489d0;" goto statement_identifier ;)) (if_statement "if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }" if (parenthesized_expression "(local_44 != 0x11)" ( (binary_expression "local_44 != 0x11" identifier != number_literal) )) (compound_statement "{\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }" { (if_statement "if (local_44 != 0x16) goto LAB_00047f87;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (goto_statement "goto LAB_000480dd;" goto statement_identifier ;) })) (expression_statement "iVar6 = local_28 + (0xfffc0007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xfffc0007 < local_2c)" identifier = (binary_expression "local_28 + (0xfffc0007 < local_2c)" identifier + (parenthesized_expression "(0xfffc0007 < local_2c)" ( (binary_expression "0xfffc0007 < local_2c" number_literal < identifier) )))) ;) (if_statement "if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }" if (parenthesized_expression "(iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6" (call_expression "(uint)(0x7ffff < local_2c + 0x3fff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7ffff < local_2c + 0x3fff8)" ( (binary_expression "0x7ffff < local_2c + 0x3fff8" number_literal < (binary_expression "local_2c + 0x3fff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }" { (expression_statement "iVar3 = FUN_0003aef0(iVar3);" (assignment_expression "iVar3 = FUN_0003aef0(iVar3)" identifier = (call_expression "FUN_0003aef0(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;" if (parenthesized_expression "((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))" ( (binary_expression "(iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0)" ( (comma_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0" (assignment_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0004872d;" goto statement_identifier ;)) (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) })) (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }" if (parenthesized_expression "(((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)))" ( (binary_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))" (parenthesized_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" ( (binary_expression "(uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar4 == 10)" ( (binary_expression "uVar4 == 10" identifier == number_literal) )) && (parenthesized_expression "((uVar2 & 0xffe00000) == 0xe8000000)" ( (binary_expression "(uVar2 & 0xffe00000) == 0xe8000000" (parenthesized_expression "(uVar2 & 0xffe00000)" ( (binary_expression "uVar2 & 0xffe00000" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))" ( (comma_expression "iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)" (assignment_expression "iVar3 = local_28 + (0xfffc0007 < local_2c)" identifier = (binary_expression "local_28 + (0xfffc0007 < local_2c)" identifier + (parenthesized_expression "(0xfffc0007 < local_2c)" ( (binary_expression "0xfffc0007 < local_2c" number_literal < identifier) )))) , (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)" (binary_expression "iVar3 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x7ffff < local_2c + 0x3fff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7ffff < local_2c + 0x3fff8)" ( (binary_expression "0x7ffff < local_2c + 0x3fff8" number_literal < (binary_expression "local_2c + 0x3fff8" identifier + number_literal)) )))))) ))) )) (compound_statement "{\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }" { (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal )))) ;) (expression_statement "uVar8 = 0x3ffff;" (assignment_expression "uVar8 = 0x3ffff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xfffc0000;" (assignment_expression "uVar7 = 0xfffc0000" identifier = number_literal) ;) (expression_statement "uVar2 = local_2c - 8;" (assignment_expression "uVar2 = local_2c - 8" identifier = (binary_expression "local_2c - 8" identifier - number_literal)) ;) (goto_statement "goto LAB_00048a23;" goto statement_identifier ;) })) (goto_statement "goto LAB_000481c0;" goto statement_identifier ;) })) (labeled_statement "LAB_00048670:\n  if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }" statement_identifier : (if_statement "if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x30) == 0)" ( (binary_expression "*(int *)(param_1 + 0x30) == 0" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (if_statement "if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }" if (parenthesized_expression "(local_44 < 0x17)" ( (binary_expression "local_44 < 0x17" identifier < number_literal) )) (compound_statement "{\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }" { (labeled_statement "LAB_00048253:\n      local_34 = 0;" statement_identifier : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;)) (if_statement "if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;" if (parenthesized_expression "((0x421000U >> (local_44 & 0x1f) & 1) != 0)" ( (binary_expression "(0x421000U >> (local_44 & 0x1f) & 1) != 0" (parenthesized_expression "(0x421000U >> (local_44 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (local_44 & 0x1f) & 1" (binary_expression "0x421000U >> (local_44 & 0x1f)" number_literal >> (parenthesized_expression "(local_44 & 0x1f)" ( (binary_expression "local_44 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00047fd9;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00048071:\n      local_34 = 0;\n    }" else (compound_statement "{\nLAB_00048071:\n      local_34 = 0;\n    }" { (labeled_statement "LAB_00048071:\n      local_34 = 0;" statement_identifier : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;)) }))) (labeled_statement "LAB_00048081:\n    local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (if_statement "if (local_44 != 0x16) goto LAB_00047f87;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (if_statement "if (iVar3 == 0) goto LAB_0004811d;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004811d;" goto statement_identifier ;)) (labeled_statement "code_r0x00048094:\n    local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (if_statement "if ((*param_1 & 1) == 0) goto LAB_0004811d;" if (parenthesized_expression "((*param_1 & 1) == 0)" ( (binary_expression "(*param_1 & 1) == 0" (parenthesized_expression "(*param_1 & 1)" ( (binary_expression "*param_1 & 1" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004811d;" goto statement_identifier ;)) (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "iVar6 = local_28 + (0xffffe007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xffffe007 < local_2c)" identifier = (binary_expression "local_28 + (0xffffe007 < local_2c)" identifier + (parenthesized_expression "(0xffffe007 < local_2c)" ( (binary_expression "0xffffe007 < local_2c" number_literal < identifier) )))) ;) (expression_statement "local_44 = 0x16;" (assignment_expression "local_44 = 0x16" identifier = number_literal) ;) (if_statement "if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }" if (parenthesized_expression "(iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (call_expression "(uint)(0x3fff < local_2c + 0x1ff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_2c + 0x1ff8)" ( (binary_expression "0x3fff < local_2c + 0x1ff8" number_literal < (binary_expression "local_2c + 0x1ff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }" { (labeled_statement "LAB_000489d0:\n      local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (expression_statement "iVar3 = FUN_0003aef0(iVar3);" (assignment_expression "iVar3 = FUN_0003aef0(iVar3)" identifier = (call_expression "FUN_0003aef0(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (labeled_statement "LAB_0004872d:\n      local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (expression_statement "iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));" (assignment_expression "iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) )))) ;) (if_statement "if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }" if (parenthesized_expression "((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))))" ( (binary_expression "(iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))" (parenthesized_expression "(iVar3 == puVar1[4])" ( (binary_expression "iVar3 == puVar1[4]" identifier == (subscript_expression "puVar1[4]" identifier [ number_literal ])) )) && (parenthesized_expression "((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))" ( (parenthesized_expression "(*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))" ( (binary_expression "*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])" (binary_expression "*(int *)(param_1 + 0x10) == 0" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "(iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])" ( (comma_expression "iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]" (assignment_expression "iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10))" identifier = (call_expression "FUN_0003b4a0(*(int *)(param_1 + 0x10))" identifier (argument_list "(*(int *)(param_1 + 0x10))" ( (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) )))) , (binary_expression "iVar3 == puVar1[4]" identifier == (subscript_expression "puVar1[4]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }" { (expression_statement "local_34 = *param_2;" (assignment_expression "local_34 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "local_30 = param_2[1];" (assignment_expression "local_30 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (switch_statement "switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }" switch (parenthesized_expression "(*puVar1)" ( (pointer_expression "*puVar1" * identifier) )) (compound_statement "{\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }" { (case_statement "case 0:\n          break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;" case number_literal : (expression_statement "iVar3 = local_30 + (0xfffffbff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffffbff < local_34)" identifier = (binary_expression "local_30 + (0xfffffbff < local_34)" identifier + (parenthesized_expression "(0xfffffbff < local_34)" ( (binary_expression "0xfffffbff < local_34" number_literal < identifier) )))) ;) (expression_statement "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000" identifier = (binary_expression "local_34 + 0x400 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x400 >> 0xb" (binary_expression "local_34 + 0x400" identifier + number_literal) >> number_literal) | (binary_expression "iVar3 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" identifier = (binary_expression "iVar3 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;" case number_literal : (expression_statement "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);" (assignment_expression "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400)" identifier = (call_expression "(uint)((ushort)local_34 & 0x7ff ^ 0x400)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ushort)local_34 & 0x7ff ^ 0x400)" ( (binary_expression "(ushort)local_34 & 0x7ff ^ 0x400" (binary_expression "(ushort)local_34 & 0x7ff" (cast_expression "(ushort)local_34" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) ^ number_literal) )))) ;) (expression_statement "local_34 = uVar4 - 0x400;" (assignment_expression "local_34 = uVar4 - 0x400" identifier = (binary_expression "uVar4 - 0x400" identifier - number_literal)) ;) (expression_statement "local_30 = (0x3ff < uVar4) - 1;" (assignment_expression "local_30 = (0x3ff < uVar4) - 1" identifier = (binary_expression "(0x3ff < uVar4) - 1" (parenthesized_expression "(0x3ff < uVar4)" ( (binary_expression "0x3ff < uVar4" number_literal < identifier) )) - number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 3:" case number_literal :) (case_statement "case 7:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;" case number_literal : (expression_statement "local_34 = local_34 >> 0xb | local_30 << 0x15;" (assignment_expression "local_34 = local_34 >> 0xb | local_30 << 0x15" identifier = (binary_expression "local_34 >> 0xb | local_30 << 0x15" (binary_expression "local_34 >> 0xb" identifier >> number_literal) | (binary_expression "local_30 << 0x15" identifier << number_literal))) ;) (expression_statement "local_30 = (int)local_30 >> 0xb;" (assignment_expression "local_30 = (int)local_30 >> 0xb" identifier = (binary_expression "(int)local_30 >> 0xb" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;" case number_literal : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;" case number_literal : (expression_statement "iVar3 = local_30 + (0xfffff7ff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffff7ff < local_34)" identifier = (binary_expression "local_30 + (0xfffff7ff < local_34)" identifier + (parenthesized_expression "(0xfffff7ff < local_34)" ( (binary_expression "0xfffff7ff < local_34" number_literal < identifier) )))) ;) (expression_statement "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000" identifier = (binary_expression "local_34 + 0x800 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x800 >> 0xb" (binary_expression "local_34 + 0x800" identifier + number_literal) >> number_literal) | (binary_expression "iVar3 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" identifier = (binary_expression "iVar3 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;" case number_literal : (expression_statement "local_30 = 0xffffffff;" (assignment_expression "local_30 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = local_34 | 0xfffff800;" (assignment_expression "local_34 = local_34 | 0xfffff800" identifier = (binary_expression "local_34 | 0xfffff800" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;" case number_literal : (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;" case number_literal : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\nLAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);" default : (labeled_statement "LAB_00048c4c:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);" statement_identifier : comment (expression_statement "FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);" (call_expression "FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1)" identifier (argument_list "("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1)" ( (string_literal ""../../gas/../bfd/libhppa.h"" " string_content ") , number_literal , (string_literal ""hppa_field_adjust"" " string_content ") , identifier ))) ;))) })) })) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;) })) (labeled_statement "LAB_000480dd:\n    local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (expression_statement "iVar6 = local_28 + (0xff800007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xff800007 < local_2c)" identifier = (binary_expression "local_28 + (0xff800007 < local_2c)" identifier + (parenthesized_expression "(0xff800007 < local_2c)" ( (binary_expression "0xff800007 < local_2c" number_literal < identifier) )))) ;) (if_statement "if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }" if (parenthesized_expression "(iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6" (call_expression "(uint)(0xffffff < local_2c + 0x7ffff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffff < local_2c + 0x7ffff8)" ( (binary_expression "0xffffff < local_2c + 0x7ffff8" number_literal < (binary_expression "local_2c + 0x7ffff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }" { (expression_statement "iVar3 = FUN_0003aef0(iVar3);" (assignment_expression "iVar3 = FUN_0003aef0(iVar3)" identifier = (call_expression "FUN_0003aef0(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0004811d;" goto statement_identifier ;)) (goto_statement "goto LAB_0004872d;" goto statement_identifier ;) })) (labeled_statement "LAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);" statement_identifier : (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;)) (if_statement "if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }" if (parenthesized_expression "(((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)))" ( (binary_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))" (parenthesized_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" ( (binary_expression "(uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar4 == 10)" ( (binary_expression "uVar4 == 10" identifier == number_literal) )) && (parenthesized_expression "((uVar2 & 0xffe00000) == 0xe8000000)" ( (binary_expression "(uVar2 & 0xffe00000) == 0xe8000000" (parenthesized_expression "(uVar2 & 0xffe00000)" ( (binary_expression "uVar2 & 0xffe00000" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))" ( (comma_expression "iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)" (assignment_expression "iVar3 = local_28 + (0xff800007 < local_2c)" identifier = (binary_expression "local_28 + (0xff800007 < local_2c)" identifier + (parenthesized_expression "(0xff800007 < local_2c)" ( (binary_expression "0xff800007 < local_2c" number_literal < identifier) )))) , (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)" (binary_expression "iVar3 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0xffffff < local_2c + 0x7ffff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffff < local_2c + 0x7ffff8)" ( (binary_expression "0xffffff < local_2c + 0x7ffff8" number_literal < (binary_expression "local_2c + 0x7ffff8" identifier + number_literal)) )))))) ))) )) (compound_statement "{\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }" { (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal )))) ;) (expression_statement "uVar8 = 0x7fffff;" (assignment_expression "uVar8 = 0x7fffff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xff800000;" (assignment_expression "uVar7 = 0xff800000" identifier = number_literal) ;) (expression_statement "uVar2 = local_2c - 8;" (assignment_expression "uVar2 = local_2c - 8" identifier = (binary_expression "local_2c - 8" identifier - number_literal)) ;) }) (else_clause "else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }" else (compound_statement "{\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }" { (expression_statement "iVar3 = local_30 + (0xff800007 < local_34);" (assignment_expression "iVar3 = local_30 + (0xff800007 < local_34)" identifier = (binary_expression "local_30 + (0xff800007 < local_34)" identifier + (parenthesized_expression "(0xff800007 < local_34)" ( (binary_expression "0xff800007 < local_34" number_literal < identifier) )))) ;) (if_statement "if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;" if (parenthesized_expression "(iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3)" ( (binary_expression "iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3" (call_expression "(uint)(0xffffff < local_34 + 0x7ffff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffff < local_34 + 0x7ffff8)" ( (binary_expression "0xffffff < local_34 + 0x7ffff8" number_literal < (binary_expression "local_34 + 0x7ffff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (goto_statement "goto LAB_000481c0;" goto statement_identifier ;)) (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal )))) ;) (expression_statement "uVar8 = 0x7fffff;" (assignment_expression "uVar8 = 0x7fffff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xff800000;" (assignment_expression "uVar7 = 0xff800000" identifier = number_literal) ;) (expression_statement "uVar2 = local_34 - 8;" (assignment_expression "uVar2 = local_34 - 8" identifier = (binary_expression "local_34 - 8" identifier - number_literal)) ;) }))) (labeled_statement "LAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);" statement_identifier : (expression_statement "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);" (call_expression "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier , identifier , identifier , identifier ))) ;)) (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000481c0;" goto statement_identifier ;) }))) (labeled_statement "LAB_0004887b:\n  local_34 = *param_2;" statement_identifier : (expression_statement "local_34 = *param_2;" (assignment_expression "local_34 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;)) (expression_statement "local_30 = param_2[1];" (assignment_expression "local_30 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (switch_statement "switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }" switch (parenthesized_expression "(*puVar1)" ( (pointer_expression "*puVar1" * identifier) )) (compound_statement "{\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }" { (case_statement "case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;" case number_literal : (if_statement "if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;" if (parenthesized_expression "((local_44 == 0x11) || (local_44 == 0xc))" ( (binary_expression "(local_44 == 0x11) || (local_44 == 0xc)" (parenthesized_expression "(local_44 == 0x11)" ( (binary_expression "local_44 == 0x11" identifier == number_literal) )) || (parenthesized_expression "(local_44 == 0xc)" ( (binary_expression "local_44 == 0xc" identifier == number_literal) ))) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (goto_statement "goto code_r0x000488ce;" goto statement_identifier ;)) (case_statement "case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;" case number_literal : (expression_statement "iVar3 = local_30 + (0xfffffbff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffffbff < local_34)" identifier = (binary_expression "local_30 + (0xfffffbff < local_34)" identifier + (parenthesized_expression "(0xfffffbff < local_34)" ( (binary_expression "0xfffffbff < local_34" number_literal < identifier) )))) ;) (expression_statement "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000" identifier = (binary_expression "local_34 + 0x400 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x400 >> 0xb" (binary_expression "local_34 + 0x400" identifier + number_literal) >> number_literal) | (binary_expression "iVar3 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" identifier = (binary_expression "iVar3 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;" case number_literal : (expression_statement "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);" (assignment_expression "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400)" identifier = (call_expression "(uint)((ushort)local_34 & 0x7ff ^ 0x400)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ushort)local_34 & 0x7ff ^ 0x400)" ( (binary_expression "(ushort)local_34 & 0x7ff ^ 0x400" (binary_expression "(ushort)local_34 & 0x7ff" (cast_expression "(ushort)local_34" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) ^ number_literal) )))) ;) (expression_statement "local_34 = uVar4 - 0x400;" (assignment_expression "local_34 = uVar4 - 0x400" identifier = (binary_expression "uVar4 - 0x400" identifier - number_literal)) ;) (expression_statement "local_30 = (0x3ff < uVar4) - 1;" (assignment_expression "local_30 = (0x3ff < uVar4) - 1" identifier = (binary_expression "(0x3ff < uVar4) - 1" (parenthesized_expression "(0x3ff < uVar4)" ( (binary_expression "0x3ff < uVar4" number_literal < identifier) )) - number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 3:" case number_literal :) (case_statement "case 7:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;" case number_literal : (expression_statement "local_34 = local_34 >> 0xb | local_30 << 0x15;" (assignment_expression "local_34 = local_34 >> 0xb | local_30 << 0x15" identifier = (binary_expression "local_34 >> 0xb | local_30 << 0x15" (binary_expression "local_34 >> 0xb" identifier >> number_literal) | (binary_expression "local_30 << 0x15" identifier << number_literal))) ;) (expression_statement "local_30 = (int)local_30 >> 0xb;" (assignment_expression "local_30 = (int)local_30 >> 0xb" identifier = (binary_expression "(int)local_30 >> 0xb" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;" case number_literal : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;" case number_literal : (expression_statement "iVar3 = local_30 + (0xfffff7ff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffff7ff < local_34)" identifier = (binary_expression "local_30 + (0xfffff7ff < local_34)" identifier + (parenthesized_expression "(0xfffff7ff < local_34)" ( (binary_expression "0xfffff7ff < local_34" number_literal < identifier) )))) ;) (expression_statement "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000" identifier = (binary_expression "local_34 + 0x800 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x800 >> 0xb" (binary_expression "local_34 + 0x800" identifier + number_literal) >> number_literal) | (binary_expression "iVar3 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" identifier = (binary_expression "iVar3 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;" case number_literal : (expression_statement "local_30 = 0xffffffff;" (assignment_expression "local_30 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = local_34 | 0xfffff800;" (assignment_expression "local_34 = local_34 | 0xfffff800" identifier = (binary_expression "local_34 | 0xfffff800" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;" case number_literal : (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;" case number_literal : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n    goto LAB_00048c4c;" default : (goto_statement "goto LAB_00048c4c;" goto statement_identifier ;)) })) (if_statement "if ((local_44 != 0xc) && (local_44 != 0x11)) {\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }" if (parenthesized_expression "((local_44 != 0xc) && (local_44 != 0x11))" ( (binary_expression "(local_44 != 0xc) && (local_44 != 0x11)" (parenthesized_expression "(local_44 != 0xc)" ( (binary_expression "local_44 != 0xc" identifier != number_literal) )) && (parenthesized_expression "(local_44 != 0x11)" ( (binary_expression "local_44 != 0x11" identifier != number_literal) ))) )) (compound_statement "{\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }" { (labeled_statement "code_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;" statement_identifier : (if_statement "if (local_44 != 0x16) goto LAB_00047f87;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;))) (labeled_statement "LAB_0004811d:\n    local_28 = param_2[1];" statement_identifier : (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;)) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (goto_statement "goto LAB_0004812d;" goto statement_identifier ;) })) (labeled_statement "LAB_00047f87:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }" statement_identifier : comment (switch_statement "switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }" switch (parenthesized_expression "(local_44)" ( identifier )) (compound_statement "{\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }" { (case_statement "case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" case number_literal : (expression_statement "iVar3 = local_30 + (0xffffdfff < local_34);" (assignment_expression "iVar3 = local_30 + (0xffffdfff < local_34)" identifier = (binary_expression "local_30 + (0xffffdfff < local_34)" identifier + (parenthesized_expression "(0xffffdfff < local_34)" ( (binary_expression "0xffffdfff < local_34" number_literal < identifier) )))) ;) (if_statement "if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;" if (parenthesized_expression "(iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000))" ( (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)" (binary_expression "iVar3 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3fff < local_34 + 0x2000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_34 + 0x2000)" ( (binary_expression "0x3fff < local_34 + 0x2000" number_literal < (binary_expression "local_34 + 0x2000" identifier + number_literal)) ))))) )) (goto_statement "goto code_r0x00048a00;" goto statement_identifier ;)) (labeled_statement "code_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);" statement_identifier : (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;)) (break_statement "break;" break ;)) (case_statement "case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" case number_literal : (expression_statement "uVar2 = local_34 - 8;" (assignment_expression "uVar2 = local_34 - 8" identifier = (binary_expression "local_34 - 8" identifier - number_literal)) ;) (expression_statement "iVar3 = local_30 + (0xffffe007 < local_34);" (assignment_expression "iVar3 = local_30 + (0xffffe007 < local_34)" identifier = (binary_expression "local_30 + (0xffffe007 < local_34)" identifier + (parenthesized_expression "(0xffffe007 < local_34)" ( (binary_expression "0xffffe007 < local_34" number_literal < identifier) )))) ;) (if_statement "if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }" if (parenthesized_expression "(iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8))" ( (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)" (binary_expression "iVar3 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3fff < local_34 + 0x1ff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_34 + 0x1ff8)" ( (binary_expression "0x3fff < local_34 + 0x1ff8" number_literal < (binary_expression "local_34 + 0x1ff8" identifier + number_literal)) ))))) )) (compound_statement "{\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }" { (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal )))) ;) (expression_statement "uVar8 = 0x1fff;" (assignment_expression "uVar8 = 0x1fff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xffffe000;" (assignment_expression "uVar7 = 0xffffe000" identifier = number_literal) ;) (goto_statement "goto LAB_00048a23;" goto statement_identifier ;) })) (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;" case number_literal : (expression_statement "iVar3 = local_30 + (0xffffdfff < local_34);" (assignment_expression "iVar3 = local_30 + (0xffffdfff < local_34)" identifier = (binary_expression "local_30 + (0xffffdfff < local_34)" identifier + (parenthesized_expression "(0xffffdfff < local_34)" ( (binary_expression "0xffffdfff < local_34" number_literal < identifier) )))) ;) (if_statement "if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;" if (parenthesized_expression "(iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3)" ( (binary_expression "iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3" (call_expression "(uint)(0x3fff < local_34 + 0x2000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_34 + 0x2000)" ( (binary_expression "0x3fff < local_34 + 0x2000" number_literal < (binary_expression "local_34 + 0x2000" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (goto_statement "goto code_r0x000483f8;" goto statement_identifier ;)) (labeled_statement "code_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" statement_identifier : (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal )))) ;)) (expression_statement "uVar8 = 0x1fff;" (assignment_expression "uVar8 = 0x1fff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xffffe000;" (assignment_expression "uVar7 = 0xffffe000" identifier = number_literal) ;) (expression_statement "uVar2 = local_34;" (assignment_expression "uVar2 = local_34" identifier = identifier) ;) (goto_statement "goto LAB_00048a23;" goto statement_identifier ;)) (case_statement "case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" case number_literal : (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\n    goto LAB_0004811d;" case number_literal : (goto_statement "goto LAB_0004811d;" goto statement_identifier ;)) (case_statement "case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" case number_literal : (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xfffffff0:\n    goto code_r0x00048512;" case number_literal : (goto_statement "goto code_r0x00048512;" goto statement_identifier ;)) (case_statement "default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;" default : (expression_statement "uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);" (assignment_expression "uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5)" identifier = (call_expression "dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5)" identifier (argument_list "(0,"Unknown relocation encountered in md_apply_fix.",5)" ( number_literal , (string_literal ""Unknown relocation encountered in md_apply_fix."" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);" (call_expression "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier ))) ;) (return_statement "return;" return ;)) (case_statement "case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);" case number_literal : (labeled_statement "code_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);" statement_identifier : (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;))) }))) (labeled_statement "LAB_000481c0:\n  if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }" statement_identifier : (if_statement "if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }" if (parenthesized_expression "(uVar4 != 0xa6)" ( (binary_expression "uVar4 != 0xa6" identifier != number_literal) )) (compound_statement "{\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }" { (if_statement "if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;" if (parenthesized_expression "(uVar4 < 0xa7)" ( (binary_expression "uVar4 < 0xa7" identifier < number_literal) )) (compound_statement "{\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }" { (if_statement "if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;" if (parenthesized_expression "((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a))))" ( (binary_expression "(uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))" (parenthesized_expression "(uVar4 != 0x9e)" ( (binary_expression "uVar4 != 0x9e" identifier != number_literal) )) && (parenthesized_expression "((uVar4 != 0xa2 && (uVar4 != 0x9a)))" ( (parenthesized_expression "(uVar4 != 0xa2 && (uVar4 != 0x9a))" ( (binary_expression "uVar4 != 0xa2 && (uVar4 != 0x9a)" (binary_expression "uVar4 != 0xa2" identifier != number_literal) && (parenthesized_expression "(uVar4 != 0x9a)" ( (binary_expression "uVar4 != 0x9a" identifier != number_literal) ))) )) ))) )) (goto_statement "goto LAB_000481f6;" goto statement_identifier ;)) }) (else_clause "else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;" else (if_statement "if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;" if (parenthesized_expression "((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed))))" ( (binary_expression "(uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))" (parenthesized_expression "(uVar4 < 0xea)" ( (binary_expression "uVar4 < 0xea" identifier < number_literal) )) || (parenthesized_expression "((0xeb < uVar4 && (1 < uVar4 - 0xed)))" ( (parenthesized_expression "(0xeb < uVar4 && (1 < uVar4 - 0xed))" ( (binary_expression "0xeb < uVar4 && (1 < uVar4 - 0xed)" (binary_expression "0xeb < uVar4" number_literal < identifier) && (parenthesized_expression "(1 < uVar4 - 0xed)" ( (binary_expression "1 < uVar4 - 0xed" number_literal < (binary_expression "uVar4 - 0xed" identifier - number_literal)) ))) )) ))) )) (goto_statement "goto LAB_000481f6;" goto statement_identifier ;)))) }))) (if_statement "if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0xc) != 0)" ( (binary_expression "*(int *)(param_1 + 0xc) != 0" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }" { (expression_statement "FUN_0003dc90(*(int *)(param_1 + 0xc));" (call_expression "FUN_0003dc90(*(int *)(param_1 + 0xc))" identifier (argument_list "(*(int *)(param_1 + 0xc))" ( (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) ))) ;) })) (labeled_statement "LAB_000481f6:\n                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();" statement_identifier : comment comment (expression_statement "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();" (call_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))()" (parenthesized_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))" ( (pointer_expression "**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30)" * (pointer_expression "*(code **)(*(int *)(DAT_00088f24 + 4) + 0x30)" * (cast_expression "(code **)(*(int *)(DAT_00088f24 + 4) + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00088f24 + 4) + 0x30)" ( (binary_expression "*(int *)(DAT_00088f24 + 4) + 0x30" (pointer_expression "*(int *)(DAT_00088f24 + 4)" * (cast_expression "(int *)(DAT_00088f24 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088f24 + 4)" ( (binary_expression "DAT_00088f24 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Removing unreachable block (ram,0x00048bcf) */\n\nvoid md_apply_fix(fixS *fixP,valueT *valP,segT seg)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  char *pcVar3;\n  segT paVar4;\n  char *format;\n  bfd_reloc_code_real_type bVar5;\n  symbolS *s;\n  int iVar6;\n  uint uVar7;\n  uint uVar8;\n  bfd_vma bVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  uint local_44;\n  uint local_34;\n  int local_30;\n  uint local_2c;\n  int local_28;\n  \n  bVar5 = fixP->fx_r_type;\n  if (bVar5 - BFD_RELOC_MIPS_GOT_HI16 < 2) {\n    return;\n  }\n  if ((fixP->fx_addsy == (symbolS *)0x0) && ((*(byte *)fixP & 1) == 0)) {\n    *(byte *)fixP = *(byte *)fixP | 0x20;\n  }\n  puVar1 = (undefined4 *)fixP->tc_fix_data;\n  if (puVar1 == (undefined4 *)0x0) {\n    pcVar3 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3,bVar5);\n    return;\n  }\n  pcVar3 = fixP->fx_frag->fr_literal + fixP->fx_where;\n  if ((fixP->fx_size != 4) || (puVar1[2] == 0x20)) {\n    number_to_chars_bigendian(pcVar3,*valP,(uint)fixP->fx_size);\n    return;\n  }\n  bVar9 = (*stdoutput->xvec->bfd_getx32)(pcVar3);\n  uVar7 = (uint)bVar9;\n  switch(uVar7 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < stdoutput->arch_info->mach) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_00048066:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    s = fixP->fx_addsy;\n    local_44 = 0xb;\n    if (s != (symbolS *)0x0) goto LAB_00048253;\n    bVar5 = fixP->fx_r_type;\njoined_r0x00048a45:\n    if (bVar5 == _dummy_first_bfd_reloc_code_real) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\nLAB_00047f58:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) {\n      bVar5 = fixP->fx_r_type;\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto LAB_00047ff3;\n    local_34 = 8;\n    goto LAB_00048094;\n  case 0x3a:\n    if ((bVar9 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto LAB_00047f58;\n    }\n    local_44 = 0x11;\n  }\n  s = fixP->fx_addsy;\n  if (s != (symbolS *)0x0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto _L800;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (s == (symbolS *)0x0) {\nLAB_00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto _L800;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L800;\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto _L800;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (uint)(0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 == 0) && (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0)) goto LAB_0004872d;\n      local_28 = *(int *)((int)valP + 4);\n      local_2c = (uint)*valP;\n    }\n    bVar5 = fixP->fx_r_type;\n    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xfffc0007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x3ffff;\n      uVar10 = 0xfffc0000;\n      uVar8 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    local_34 = uVar7 & 0xffe0e002;\n    goto LAB_000481c0;\n  }\nLAB_00048670:\n  if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {\n    s = (symbolS *)0x0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto _L800;\n    if (s == (symbolS *)0x0) goto _L857;\nLAB_00048094:\n    local_30 = 0;\n    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L857;\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L800;\nLAB_0004872d:\n      local_30 = 0;\n      paVar4 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar4 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))) {\n        local_34 = (uint)*valP;\n        local_30 = *(int *)((int)valP + 4);\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L800;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (uint)(0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L857;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    bVar5 = fixP->fx_r_type;\n    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xff800007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar8 = local_2c - 8;\n    }\n    else {\n      uVar8 = local_34 - 8;\n      local_30 = local_30 + (uint)(0xff800007 < local_34);\n      if (local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30) {\n        uVar2 = ((int)uVar8 >> 2) << 5;\n        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;\n        goto LAB_000481c0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\nLAB_00048a23:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar8);\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar7;\n    goto LAB_000481c0;\n  }\nLAB_0004887b:\n  local_34 = (uint)*valP;\n  local_30 = *(int *)((int)valP + 4);\n  switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto _L800;\n    goto LAB_000488ce;\n  case 1:\n    local_30 = local_30 + (uint)(0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 2:\n    uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar8 - 0x400;\n    local_30 = (0x3ff < uVar8) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 6:\n    local_30 = -1;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto switchD_00048784_caseD_c;\n  }\n  if ((local_44 != 0xc) && (local_44 != 0x11)) {\nLAB_000488ce:\n    if (local_44 != 0x16) goto _L800;\n_L857:\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    goto LAB_0004812d;\n  }\n_L800:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(local_44) {\n  case 10:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000)) goto LAB_00048a00;\n    uVar7 = uVar7 & 0xffffc00e;\n    uVar8 = local_34 * 2 & 0x3ff0;\nLAB_00048451:\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 | (int)local_34 >> 0xd & 1U | uVar7;\n    break;\n  case 0xc:\n    uVar8 = local_34 - 8;\n    local_30 = local_30 + (uint)(0xffffe007 < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U | uVar7 & 0xffffe002;\n    break;\n  case 0xe:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30) {\n      uVar7 = uVar7 & 0xffffc000;\n      uVar8 = local_34 * 2 & 0x3ffe;\n      goto LAB_00048451;\n    }\nLAB_00048a00:\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar11 = 0x1fff;\n    uVar10 = 0xffffe000;\n    uVar8 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar8 = local_34 & 0x8000;\n    bVar5 = fixP->fx_r_type;\n    local_34 = (int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |\n               uVar7 & 0xffff0000 | (int)uVar8 >> 0xf;\n    break;\n  case 0x16:\n    goto _L857;\n  case 0x20:\n    bVar5 = fixP->fx_r_type;\n    break;\n  case 0xfffffff0:\n    uVar8 = local_34 * 2 & 0xfff8;\n    uVar7 = uVar7 & 0xffff0006 | (int)(local_34 & 0x8000) >> 0xf;\n    goto LAB_00048512;\n  default:\n    pcVar3 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3);\n    return;\n  case 0xfffffff6:\n    uVar8 = local_34 * 2 & 0xfff0;\n    uVar7 = uVar7 & 0xffff000e | (int)(local_34 & 0x8000) >> 0xf;\nLAB_00048512:\n    bVar5 = fixP->fx_r_type;\n    local_34 = local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1 | uVar7;\n  }\nLAB_000481c0:\n  if (bVar5 != BFD_RELOC_ALPHA_LITERAL) {\n    if (bVar5 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar5 != BFD_RELOC_SPU_LO16) &&\n         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))) goto LAB_000481f6;\n    }\n    else if ((bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_000481f6;\n  }\n  if (fixP->fx_addsy != (symbolS *)0x0) {\n    S_SET_THREAD_LOCAL(fixP->fx_addsy);\n  }\nLAB_000481f6:\n                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*stdoutput->xvec->bfd_putx32)((longlong)(int)local_34,pcVar3);\n  return;\n}\n\n" comment comment (function_definition "void md_apply_fix(fixS *fixP,valueT *valP,segT seg)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  char *pcVar3;\n  segT paVar4;\n  char *format;\n  bfd_reloc_code_real_type bVar5;\n  symbolS *s;\n  int iVar6;\n  uint uVar7;\n  uint uVar8;\n  bfd_vma bVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  uint local_44;\n  uint local_34;\n  int local_30;\n  uint local_2c;\n  int local_28;\n  \n  bVar5 = fixP->fx_r_type;\n  if (bVar5 - BFD_RELOC_MIPS_GOT_HI16 < 2) {\n    return;\n  }\n  if ((fixP->fx_addsy == (symbolS *)0x0) && ((*(byte *)fixP & 1) == 0)) {\n    *(byte *)fixP = *(byte *)fixP | 0x20;\n  }\n  puVar1 = (undefined4 *)fixP->tc_fix_data;\n  if (puVar1 == (undefined4 *)0x0) {\n    pcVar3 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3,bVar5);\n    return;\n  }\n  pcVar3 = fixP->fx_frag->fr_literal + fixP->fx_where;\n  if ((fixP->fx_size != 4) || (puVar1[2] == 0x20)) {\n    number_to_chars_bigendian(pcVar3,*valP,(uint)fixP->fx_size);\n    return;\n  }\n  bVar9 = (*stdoutput->xvec->bfd_getx32)(pcVar3);\n  uVar7 = (uint)bVar9;\n  switch(uVar7 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < stdoutput->arch_info->mach) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_00048066:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    s = fixP->fx_addsy;\n    local_44 = 0xb;\n    if (s != (symbolS *)0x0) goto LAB_00048253;\n    bVar5 = fixP->fx_r_type;\njoined_r0x00048a45:\n    if (bVar5 == _dummy_first_bfd_reloc_code_real) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\nLAB_00047f58:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) {\n      bVar5 = fixP->fx_r_type;\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto LAB_00047ff3;\n    local_34 = 8;\n    goto LAB_00048094;\n  case 0x3a:\n    if ((bVar9 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto LAB_00047f58;\n    }\n    local_44 = 0x11;\n  }\n  s = fixP->fx_addsy;\n  if (s != (symbolS *)0x0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto _L800;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (s == (symbolS *)0x0) {\nLAB_00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto _L800;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L800;\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto _L800;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (uint)(0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 == 0) && (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0)) goto LAB_0004872d;\n      local_28 = *(int *)((int)valP + 4);\n      local_2c = (uint)*valP;\n    }\n    bVar5 = fixP->fx_r_type;\n    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xfffc0007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x3ffff;\n      uVar10 = 0xfffc0000;\n      uVar8 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    local_34 = uVar7 & 0xffe0e002;\n    goto LAB_000481c0;\n  }\nLAB_00048670:\n  if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {\n    s = (symbolS *)0x0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto _L800;\n    if (s == (symbolS *)0x0) goto _L857;\nLAB_00048094:\n    local_30 = 0;\n    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L857;\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L800;\nLAB_0004872d:\n      local_30 = 0;\n      paVar4 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar4 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))) {\n        local_34 = (uint)*valP;\n        local_30 = *(int *)((int)valP + 4);\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L800;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (uint)(0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L857;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    bVar5 = fixP->fx_r_type;\n    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xff800007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar8 = local_2c - 8;\n    }\n    else {\n      uVar8 = local_34 - 8;\n      local_30 = local_30 + (uint)(0xff800007 < local_34);\n      if (local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30) {\n        uVar2 = ((int)uVar8 >> 2) << 5;\n        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;\n        goto LAB_000481c0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\nLAB_00048a23:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar8);\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar7;\n    goto LAB_000481c0;\n  }\nLAB_0004887b:\n  local_34 = (uint)*valP;\n  local_30 = *(int *)((int)valP + 4);\n  switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto _L800;\n    goto LAB_000488ce;\n  case 1:\n    local_30 = local_30 + (uint)(0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 2:\n    uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar8 - 0x400;\n    local_30 = (0x3ff < uVar8) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 6:\n    local_30 = -1;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto switchD_00048784_caseD_c;\n  }\n  if ((local_44 != 0xc) && (local_44 != 0x11)) {\nLAB_000488ce:\n    if (local_44 != 0x16) goto _L800;\n_L857:\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    goto LAB_0004812d;\n  }\n_L800:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(local_44) {\n  case 10:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000)) goto LAB_00048a00;\n    uVar7 = uVar7 & 0xffffc00e;\n    uVar8 = local_34 * 2 & 0x3ff0;\nLAB_00048451:\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 | (int)local_34 >> 0xd & 1U | uVar7;\n    break;\n  case 0xc:\n    uVar8 = local_34 - 8;\n    local_30 = local_30 + (uint)(0xffffe007 < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U | uVar7 & 0xffffe002;\n    break;\n  case 0xe:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30) {\n      uVar7 = uVar7 & 0xffffc000;\n      uVar8 = local_34 * 2 & 0x3ffe;\n      goto LAB_00048451;\n    }\nLAB_00048a00:\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar11 = 0x1fff;\n    uVar10 = 0xffffe000;\n    uVar8 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar8 = local_34 & 0x8000;\n    bVar5 = fixP->fx_r_type;\n    local_34 = (int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |\n               uVar7 & 0xffff0000 | (int)uVar8 >> 0xf;\n    break;\n  case 0x16:\n    goto _L857;\n  case 0x20:\n    bVar5 = fixP->fx_r_type;\n    break;\n  case 0xfffffff0:\n    uVar8 = local_34 * 2 & 0xfff8;\n    uVar7 = uVar7 & 0xffff0006 | (int)(local_34 & 0x8000) >> 0xf;\n    goto LAB_00048512;\n  default:\n    pcVar3 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3);\n    return;\n  case 0xfffffff6:\n    uVar8 = local_34 * 2 & 0xfff0;\n    uVar7 = uVar7 & 0xffff000e | (int)(local_34 & 0x8000) >> 0xf;\nLAB_00048512:\n    bVar5 = fixP->fx_r_type;\n    local_34 = local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1 | uVar7;\n  }\nLAB_000481c0:\n  if (bVar5 != BFD_RELOC_ALPHA_LITERAL) {\n    if (bVar5 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar5 != BFD_RELOC_SPU_LO16) &&\n         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))) goto LAB_000481f6;\n    }\n    else if ((bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_000481f6;\n  }\n  if (fixP->fx_addsy != (symbolS *)0x0) {\n    S_SET_THREAD_LOCAL(fixP->fx_addsy);\n  }\nLAB_000481f6:\n                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*stdoutput->xvec->bfd_putx32)((longlong)(int)local_34,pcVar3);\n  return;\n}" primitive_type (function_declarator "md_apply_fix(fixS *fixP,valueT *valP,segT seg)" identifier (parameter_list "(fixS *fixP,valueT *valP,segT seg)" ( (parameter_declaration "fixS *fixP" type_identifier (pointer_declarator "*fixP" * identifier)) , (parameter_declaration "valueT *valP" type_identifier (pointer_declarator "*valP" * identifier)) , (parameter_declaration "segT seg" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  uint uVar2;\n  char *pcVar3;\n  segT paVar4;\n  char *format;\n  bfd_reloc_code_real_type bVar5;\n  symbolS *s;\n  int iVar6;\n  uint uVar7;\n  uint uVar8;\n  bfd_vma bVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  uint local_44;\n  uint local_34;\n  int local_30;\n  uint local_2c;\n  int local_28;\n  \n  bVar5 = fixP->fx_r_type;\n  if (bVar5 - BFD_RELOC_MIPS_GOT_HI16 < 2) {\n    return;\n  }\n  if ((fixP->fx_addsy == (symbolS *)0x0) && ((*(byte *)fixP & 1) == 0)) {\n    *(byte *)fixP = *(byte *)fixP | 0x20;\n  }\n  puVar1 = (undefined4 *)fixP->tc_fix_data;\n  if (puVar1 == (undefined4 *)0x0) {\n    pcVar3 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3,bVar5);\n    return;\n  }\n  pcVar3 = fixP->fx_frag->fr_literal + fixP->fx_where;\n  if ((fixP->fx_size != 4) || (puVar1[2] == 0x20)) {\n    number_to_chars_bigendian(pcVar3,*valP,(uint)fixP->fx_size);\n    return;\n  }\n  bVar9 = (*stdoutput->xvec->bfd_getx32)(pcVar3);\n  uVar7 = (uint)bVar9;\n  switch(uVar7 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < stdoutput->arch_info->mach) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_00048066:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    s = fixP->fx_addsy;\n    local_44 = 0xb;\n    if (s != (symbolS *)0x0) goto LAB_00048253;\n    bVar5 = fixP->fx_r_type;\njoined_r0x00048a45:\n    if (bVar5 == _dummy_first_bfd_reloc_code_real) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\nLAB_00047f58:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) {\n      bVar5 = fixP->fx_r_type;\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto LAB_00047ff3;\n    local_34 = 8;\n    goto LAB_00048094;\n  case 0x3a:\n    if ((bVar9 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto LAB_00047f58;\n    }\n    local_44 = 0x11;\n  }\n  s = fixP->fx_addsy;\n  if (s != (symbolS *)0x0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto _L800;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (s == (symbolS *)0x0) {\nLAB_00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto _L800;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L800;\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto _L800;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (uint)(0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 == 0) && (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0)) goto LAB_0004872d;\n      local_28 = *(int *)((int)valP + 4);\n      local_2c = (uint)*valP;\n    }\n    bVar5 = fixP->fx_r_type;\n    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xfffc0007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x3ffff;\n      uVar10 = 0xfffc0000;\n      uVar8 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    local_34 = uVar7 & 0xffe0e002;\n    goto LAB_000481c0;\n  }\nLAB_00048670:\n  if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {\n    s = (symbolS *)0x0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto _L800;\n    if (s == (symbolS *)0x0) goto _L857;\nLAB_00048094:\n    local_30 = 0;\n    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L857;\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L800;\nLAB_0004872d:\n      local_30 = 0;\n      paVar4 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar4 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))) {\n        local_34 = (uint)*valP;\n        local_30 = *(int *)((int)valP + 4);\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L800;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (uint)(0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L857;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    bVar5 = fixP->fx_r_type;\n    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xff800007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar8 = local_2c - 8;\n    }\n    else {\n      uVar8 = local_34 - 8;\n      local_30 = local_30 + (uint)(0xff800007 < local_34);\n      if (local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30) {\n        uVar2 = ((int)uVar8 >> 2) << 5;\n        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;\n        goto LAB_000481c0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\nLAB_00048a23:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar8);\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar7;\n    goto LAB_000481c0;\n  }\nLAB_0004887b:\n  local_34 = (uint)*valP;\n  local_30 = *(int *)((int)valP + 4);\n  switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto _L800;\n    goto LAB_000488ce;\n  case 1:\n    local_30 = local_30 + (uint)(0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 2:\n    uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar8 - 0x400;\n    local_30 = (0x3ff < uVar8) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 6:\n    local_30 = -1;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto switchD_00048784_caseD_c;\n  }\n  if ((local_44 != 0xc) && (local_44 != 0x11)) {\nLAB_000488ce:\n    if (local_44 != 0x16) goto _L800;\n_L857:\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    goto LAB_0004812d;\n  }\n_L800:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(local_44) {\n  case 10:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000)) goto LAB_00048a00;\n    uVar7 = uVar7 & 0xffffc00e;\n    uVar8 = local_34 * 2 & 0x3ff0;\nLAB_00048451:\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 | (int)local_34 >> 0xd & 1U | uVar7;\n    break;\n  case 0xc:\n    uVar8 = local_34 - 8;\n    local_30 = local_30 + (uint)(0xffffe007 < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U | uVar7 & 0xffffe002;\n    break;\n  case 0xe:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30) {\n      uVar7 = uVar7 & 0xffffc000;\n      uVar8 = local_34 * 2 & 0x3ffe;\n      goto LAB_00048451;\n    }\nLAB_00048a00:\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar11 = 0x1fff;\n    uVar10 = 0xffffe000;\n    uVar8 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar8 = local_34 & 0x8000;\n    bVar5 = fixP->fx_r_type;\n    local_34 = (int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |\n               uVar7 & 0xffff0000 | (int)uVar8 >> 0xf;\n    break;\n  case 0x16:\n    goto _L857;\n  case 0x20:\n    bVar5 = fixP->fx_r_type;\n    break;\n  case 0xfffffff0:\n    uVar8 = local_34 * 2 & 0xfff8;\n    uVar7 = uVar7 & 0xffff0006 | (int)(local_34 & 0x8000) >> 0xf;\n    goto LAB_00048512;\n  default:\n    pcVar3 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3);\n    return;\n  case 0xfffffff6:\n    uVar8 = local_34 * 2 & 0xfff0;\n    uVar7 = uVar7 & 0xffff000e | (int)(local_34 & 0x8000) >> 0xf;\nLAB_00048512:\n    bVar5 = fixP->fx_r_type;\n    local_34 = local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1 | uVar7;\n  }\nLAB_000481c0:\n  if (bVar5 != BFD_RELOC_ALPHA_LITERAL) {\n    if (bVar5 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar5 != BFD_RELOC_SPU_LO16) &&\n         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))) goto LAB_000481f6;\n    }\n    else if ((bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_000481f6;\n  }\n  if (fixP->fx_addsy != (symbolS *)0x0) {\n    S_SET_THREAD_LOCAL(fixP->fx_addsy);\n  }\nLAB_000481f6:\n                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*stdoutput->xvec->bfd_putx32)((longlong)(int)local_34,pcVar3);\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "segT paVar4;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "bfd_reloc_code_real_type bVar5;" type_identifier identifier ;) (declaration "symbolS *s;" type_identifier (pointer_declarator "*s" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "bfd_vma bVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "bVar5 = fixP->fx_r_type;" (assignment_expression "bVar5 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (if_statement "if (bVar5 - BFD_RELOC_MIPS_GOT_HI16 < 2) {\n    return;\n  }" if (parenthesized_expression "(bVar5 - BFD_RELOC_MIPS_GOT_HI16 < 2)" ( (binary_expression "bVar5 - BFD_RELOC_MIPS_GOT_HI16 < 2" (binary_expression "bVar5 - BFD_RELOC_MIPS_GOT_HI16" identifier - identifier) < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if ((fixP->fx_addsy == (symbolS *)0x0) && ((*(byte *)fixP & 1) == 0)) {\n    *(byte *)fixP = *(byte *)fixP | 0x20;\n  }" if (parenthesized_expression "((fixP->fx_addsy == (symbolS *)0x0) && ((*(byte *)fixP & 1) == 0))" ( (binary_expression "(fixP->fx_addsy == (symbolS *)0x0) && ((*(byte *)fixP & 1) == 0)" (parenthesized_expression "(fixP->fx_addsy == (symbolS *)0x0)" ( (binary_expression "fixP->fx_addsy == (symbolS *)0x0" (field_expression "fixP->fx_addsy" identifier -> field_identifier) == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)fixP & 1) == 0)" ( (binary_expression "(*(byte *)fixP & 1) == 0" (parenthesized_expression "(*(byte *)fixP & 1)" ( (binary_expression "*(byte *)fixP & 1" (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    *(byte *)fixP = *(byte *)fixP | 0x20;\n  }" { (expression_statement "*(byte *)fixP = *(byte *)fixP | 0x20;" (assignment_expression "*(byte *)fixP = *(byte *)fixP | 0x20" (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(byte *)fixP | 0x20" (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) | number_literal)) ;) })) (expression_statement "puVar1 = (undefined4 *)fixP->tc_fix_data;" (assignment_expression "puVar1 = (undefined4 *)fixP->tc_fix_data" identifier = (cast_expression "(undefined4 *)fixP->tc_fix_data" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fixP->tc_fix_data" identifier -> field_identifier))) ;) (if_statement "if (puVar1 == (undefined4 *)0x0) {\n    pcVar3 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3,bVar5);\n    return;\n  }" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar3 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3,bVar5);\n    return;\n  }" { (expression_statement "pcVar3 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5)" identifier = (cast_expression "(char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5)" identifier (argument_list "(0,"no hppa_fixup entry for fixup type 0x%x",5)" ( number_literal , (string_literal ""no hppa_fixup entry for fixup type 0x%x"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3,bVar5);" (call_expression "as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3,bVar5)" identifier (argument_list "(fixP->fx_file,fixP->fx_line,pcVar3,bVar5)" ( (field_expression "fixP->fx_file" identifier -> field_identifier) , (field_expression "fixP->fx_line" identifier -> field_identifier) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar3 = fixP->fx_frag->fr_literal + fixP->fx_where;" (assignment_expression "pcVar3 = fixP->fx_frag->fr_literal + fixP->fx_where" identifier = (binary_expression "fixP->fx_frag->fr_literal + fixP->fx_where" (field_expression "fixP->fx_frag->fr_literal" (field_expression "fixP->fx_frag" identifier -> field_identifier) -> field_identifier) + (field_expression "fixP->fx_where" identifier -> field_identifier))) ;) (if_statement "if ((fixP->fx_size != 4) || (puVar1[2] == 0x20)) {\n    number_to_chars_bigendian(pcVar3,*valP,(uint)fixP->fx_size);\n    return;\n  }" if (parenthesized_expression "((fixP->fx_size != 4) || (puVar1[2] == 0x20))" ( (binary_expression "(fixP->fx_size != 4) || (puVar1[2] == 0x20)" (parenthesized_expression "(fixP->fx_size != 4)" ( (binary_expression "fixP->fx_size != 4" (field_expression "fixP->fx_size" identifier -> field_identifier) != number_literal) )) || (parenthesized_expression "(puVar1[2] == 0x20)" ( (binary_expression "puVar1[2] == 0x20" (subscript_expression "puVar1[2]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    number_to_chars_bigendian(pcVar3,*valP,(uint)fixP->fx_size);\n    return;\n  }" { (expression_statement "number_to_chars_bigendian(pcVar3,*valP,(uint)fixP->fx_size);" (call_expression "number_to_chars_bigendian(pcVar3,*valP,(uint)fixP->fx_size)" identifier (argument_list "(pcVar3,*valP,(uint)fixP->fx_size)" ( identifier , (pointer_expression "*valP" * identifier) , (cast_expression "(uint)fixP->fx_size" ( (type_descriptor "uint" type_identifier) ) (field_expression "fixP->fx_size" identifier -> field_identifier)) ))) ;) (return_statement "return;" return ;) })) (expression_statement "bVar9 = (*stdoutput->xvec->bfd_getx32)(pcVar3);" (assignment_expression "bVar9 = (*stdoutput->xvec->bfd_getx32)(pcVar3)" identifier = (call_expression "(*stdoutput->xvec->bfd_getx32)(pcVar3)" (parenthesized_expression "(*stdoutput->xvec->bfd_getx32)" ( (pointer_expression "*stdoutput->xvec->bfd_getx32" * (field_expression "stdoutput->xvec->bfd_getx32" (field_expression "stdoutput->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pcVar3)" ( identifier )))) ;) (expression_statement "uVar7 = (uint)bVar9;" (assignment_expression "uVar7 = (uint)bVar9" identifier = (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (switch_statement "switch(uVar7 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < stdoutput->arch_info->mach) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_00048066:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    s = fixP->fx_addsy;\n    local_44 = 0xb;\n    if (s != (symbolS *)0x0) goto LAB_00048253;\n    bVar5 = fixP->fx_r_type;\njoined_r0x00048a45:\n    if (bVar5 == _dummy_first_bfd_reloc_code_real) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\nLAB_00047f58:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) {\n      bVar5 = fixP->fx_r_type;\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto LAB_00047ff3;\n    local_34 = 8;\n    goto LAB_00048094;\n  case 0x3a:\n    if ((bVar9 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto LAB_00047f58;\n    }\n    local_44 = 0x11;\n  }" switch (parenthesized_expression "(uVar7 >> 0x1a)" ( (binary_expression "uVar7 >> 0x1a" identifier >> number_literal) )) (compound_statement "{\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < stdoutput->arch_info->mach) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_00048066:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    s = fixP->fx_addsy;\n    local_44 = 0xb;\n    if (s != (symbolS *)0x0) goto LAB_00048253;\n    bVar5 = fixP->fx_r_type;\njoined_r0x00048a45:\n    if (bVar5 == _dummy_first_bfd_reloc_code_real) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\nLAB_00047f58:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) {\n      bVar5 = fixP->fx_r_type;\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto LAB_00047ff3;\n    local_34 = 8;\n    goto LAB_00048094;\n  case 0x3a:\n    if ((bVar9 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto LAB_00047f58;\n    }\n    local_44 = 0x11;\n  }" { (case_statement "case 8:" case number_literal :) (case_statement "case 10:\n    local_44 = 0x15;\n    break;" case number_literal : (expression_statement "local_44 = 0x15;" (assignment_expression "local_44 = 0x15" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n    local_44 = 0x20;\n    goto LAB_00048066;" default : (expression_statement "local_44 = 0x20;" (assignment_expression "local_44 = 0x20" identifier = number_literal) ;) (goto_statement "goto LAB_00048066;" goto statement_identifier ;)) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x11:" case number_literal :) (case_statement "case 0x12:" case number_literal :) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x18:" case number_literal :) (case_statement "case 0x19:" case number_literal :) (case_statement "case 0x1a:" case number_literal :) (case_statement "case 0x1b:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;" case number_literal : (expression_statement "local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;" (assignment_expression "local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10" identifier = (binary_expression "(-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10" (parenthesized_expression "(-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe)" ( (binary_expression "-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe" (unary_expression "-(uint)(stdoutput->arch_info->mach < 0x19)" - (call_expression "(uint)(stdoutput->arch_info->mach < 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(stdoutput->arch_info->mach < 0x19)" ( (binary_expression "stdoutput->arch_info->mach < 0x19" (field_expression "stdoutput->arch_info->mach" (field_expression "stdoutput->arch_info" identifier -> field_identifier) -> field_identifier) < number_literal) )))) & number_literal) )) + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x1c:\n    if (0x18 < stdoutput->arch_info->mach) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;" case number_literal : (if_statement "if (0x18 < stdoutput->arch_info->mach) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }" if (parenthesized_expression "(0x18 < stdoutput->arch_info->mach)" ( (binary_expression "0x18 < stdoutput->arch_info->mach" number_literal < (field_expression "stdoutput->arch_info->mach" (field_expression "stdoutput->arch_info" identifier -> field_identifier) -> field_identifier)) )) (compound_statement "{\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }" { (expression_statement "local_44 = 0xfffffff6;" (assignment_expression "local_44 = 0xfffffff6" identifier = number_literal) ;) (goto_statement "goto LAB_00048066;" goto statement_identifier ;) })) (expression_statement "local_44 = 10;" (assignment_expression "local_44 = 10" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x1e:" case number_literal :) (case_statement "case 0x1f:\n    local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_00048066:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) goto LAB_00048670;\n    goto LAB_00048071;" case number_literal : (expression_statement "local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;" (assignment_expression "local_44 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10" identifier = (binary_expression "(-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10" (parenthesized_expression "(-(uint)(stdoutput->arch_info->mach < 0x19) & 5)" ( (binary_expression "-(uint)(stdoutput->arch_info->mach < 0x19) & 5" (unary_expression "-(uint)(stdoutput->arch_info->mach < 0x19)" - (call_expression "(uint)(stdoutput->arch_info->mach < 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(stdoutput->arch_info->mach < 0x19)" ( (binary_expression "stdoutput->arch_info->mach < 0x19" (field_expression "stdoutput->arch_info->mach" (field_expression "stdoutput->arch_info" identifier -> field_identifier) -> field_identifier) < number_literal) )))) & number_literal) )) - number_literal)) ;) (labeled_statement "LAB_00048066:\n    s = fixP->fx_addsy;" statement_identifier : (expression_statement "s = fixP->fx_addsy;" (assignment_expression "s = fixP->fx_addsy" identifier = (field_expression "fixP->fx_addsy" identifier -> field_identifier)) ;)) (if_statement "if (s == (symbolS *)0x0) goto LAB_00048670;" if (parenthesized_expression "(s == (symbolS *)0x0)" ( (binary_expression "s == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00048670;" goto statement_identifier ;)) (goto_statement "goto LAB_00048071;" goto statement_identifier ;)) (case_statement "case 0x20:" case number_literal :) (case_statement "case 0x21:" case number_literal :) (case_statement "case 0x22:" case number_literal :) (case_statement "case 0x23:" case number_literal :) (case_statement "case 0x27:" case number_literal :) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x29:" case number_literal :) (case_statement "case 0x2a:" case number_literal :) (case_statement "case 0x2b:" case number_literal :) (case_statement "case 0x2f:" case number_literal :) (case_statement "case 0x30:" case number_literal :) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x3b:\n    local_44 = 0xc;\n    break;" case number_literal : (expression_statement "local_44 = 0xc;" (assignment_expression "local_44 = 0xc" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x24:" case number_literal :) (case_statement "case 0x25:" case number_literal :) (case_statement "case 0x2c:" case number_literal :) (case_statement "case 0x2d:\n    s = fixP->fx_addsy;\n    local_44 = 0xb;\n    if (s != (symbolS *)0x0) goto LAB_00048253;\n    bVar5 = fixP->fx_r_type;\njoined_r0x00048a45:\n    if (bVar5 == _dummy_first_bfd_reloc_code_real) goto LAB_00048253;\n    goto LAB_0004887b;" case number_literal : (expression_statement "s = fixP->fx_addsy;" (assignment_expression "s = fixP->fx_addsy" identifier = (field_expression "fixP->fx_addsy" identifier -> field_identifier)) ;) (expression_statement "local_44 = 0xb;" (assignment_expression "local_44 = 0xb" identifier = number_literal) ;) (if_statement "if (s != (symbolS *)0x0) goto LAB_00048253;" if (parenthesized_expression "(s != (symbolS *)0x0)" ( (binary_expression "s != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00048253;" goto statement_identifier ;)) (expression_statement "bVar5 = fixP->fx_r_type;" (assignment_expression "bVar5 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (labeled_statement "joined_r0x00048a45:\n    if (bVar5 == _dummy_first_bfd_reloc_code_real) goto LAB_00048253;" statement_identifier : (if_statement "if (bVar5 == _dummy_first_bfd_reloc_code_real) goto LAB_00048253;" if (parenthesized_expression "(bVar5 == _dummy_first_bfd_reloc_code_real)" ( (binary_expression "bVar5 == _dummy_first_bfd_reloc_code_real" identifier == identifier) )) (goto_statement "goto LAB_00048253;" goto statement_identifier ;))) (goto_statement "goto LAB_0004887b;" goto statement_identifier ;)) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n    local_44 = 0x11;\nLAB_00047f58:\n    s = fixP->fx_addsy;\n    if (s == (symbolS *)0x0) {\n      bVar5 = fixP->fx_r_type;\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto LAB_00047ff3;\n    local_34 = 8;\n    goto LAB_00048094;" case number_literal : (expression_statement "local_44 = 0x11;" (assignment_expression "local_44 = 0x11" identifier = number_literal) ;) (labeled_statement "LAB_00047f58:\n    s = fixP->fx_addsy;" statement_identifier : (expression_statement "s = fixP->fx_addsy;" (assignment_expression "s = fixP->fx_addsy" identifier = (field_expression "fixP->fx_addsy" identifier -> field_identifier)) ;)) (if_statement "if (s == (symbolS *)0x0) {\n      bVar5 = fixP->fx_r_type;\n      goto joined_r0x00048a45;\n    }" if (parenthesized_expression "(s == (symbolS *)0x0)" ( (binary_expression "s == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar5 = fixP->fx_r_type;\n      goto joined_r0x00048a45;\n    }" { (expression_statement "bVar5 = fixP->fx_r_type;" (assignment_expression "bVar5 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x00048a45;" goto statement_identifier ;) })) (if_statement "if (local_44 == 0x11) goto LAB_00047f6e;" if (parenthesized_expression "(local_44 == 0x11)" ( (binary_expression "local_44 == 0x11" identifier == number_literal) )) (goto_statement "goto LAB_00047f6e;" goto statement_identifier ;)) (if_statement "if (local_44 != 0x16) goto LAB_00047ff3;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_00047ff3;" goto statement_identifier ;)) (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_00048094;" goto statement_identifier ;)) (case_statement "case 0x3a:\n    if ((bVar9 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto LAB_00047f58;\n    }\n    local_44 = 0x11;" case number_literal : (if_statement "if ((bVar9 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto LAB_00047f58;\n    }" if (parenthesized_expression "((bVar9 & 0x8000) != 0)" ( (binary_expression "(bVar9 & 0x8000) != 0" (parenthesized_expression "(bVar9 & 0x8000)" ( (binary_expression "bVar9 & 0x8000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      local_44 = 0x16;\n      goto LAB_00047f58;\n    }" { (expression_statement "local_44 = 0x16;" (assignment_expression "local_44 = 0x16" identifier = number_literal) ;) (goto_statement "goto LAB_00047f58;" goto statement_identifier ;) })) (expression_statement "local_44 = 0x11;" (assignment_expression "local_44 = 0x11" identifier = number_literal) ;)) })) (expression_statement "s = fixP->fx_addsy;" (assignment_expression "s = fixP->fx_addsy" identifier = (field_expression "fixP->fx_addsy" identifier -> field_identifier)) ;) (if_statement "if (s != (symbolS *)0x0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto _L800;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (s == (symbolS *)0x0) {\nLAB_00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto _L800;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L800;\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto _L800;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (uint)(0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 == 0) && (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0)) goto LAB_0004872d;\n      local_28 = *(int *)((int)valP + 4);\n      local_2c = (uint)*valP;\n    }\n    bVar5 = fixP->fx_r_type;\n    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xfffc0007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x3ffff;\n      uVar10 = 0xfffc0000;\n      uVar8 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    local_34 = uVar7 & 0xffe0e002;\n    goto LAB_000481c0;\n  }" if (parenthesized_expression "(s != (symbolS *)0x0)" ( (binary_expression "s != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto _L800;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (s == (symbolS *)0x0) {\nLAB_00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto _L800;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L800;\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto _L800;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (uint)(0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 == 0) && (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0)) goto LAB_0004872d;\n      local_28 = *(int *)((int)valP + 4);\n      local_2c = (uint)*valP;\n    }\n    bVar5 = fixP->fx_r_type;\n    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xfffc0007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x3ffff;\n      uVar10 = 0xfffc0000;\n      uVar8 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    local_34 = uVar7 & 0xffe0e002;\n    goto LAB_000481c0;\n  }" { (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto _L800;" if (parenthesized_expression "((0x421000U >> (local_44 & 0x1f) & 1) == 0)" ( (binary_expression "(0x421000U >> (local_44 & 0x1f) & 1) == 0" (parenthesized_expression "(0x421000U >> (local_44 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (local_44 & 0x1f) & 1" (binary_expression "0x421000U >> (local_44 & 0x1f)" number_literal >> (parenthesized_expression "(local_44 & 0x1f)" ( (binary_expression "local_44 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (goto_statement "goto _L800;" goto statement_identifier ;)) (labeled_statement "LAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }" statement_identifier : (if_statement "if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }" if (parenthesized_expression "((local_44 != 0x11) && (local_44 != 0xc))" ( (binary_expression "(local_44 != 0x11) && (local_44 != 0xc)" (parenthesized_expression "(local_44 != 0x11)" ( (binary_expression "local_44 != 0x11" identifier != number_literal) )) && (parenthesized_expression "(local_44 != 0xc)" ( (binary_expression "local_44 != 0xc" identifier != number_literal) ))) )) (compound_statement "{\n      local_34 = 8;\n      goto LAB_00048081;\n    }" { (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_00048081;" goto statement_identifier ;) }))) (if_statement "if (s == (symbolS *)0x0) {\nLAB_00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto _L800;\n    }" if (parenthesized_expression "(s == (symbolS *)0x0)" ( (binary_expression "s == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto _L800;\n    }" { (labeled_statement "LAB_00047ff3:\n      local_34 = 8;" statement_identifier : (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;)) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (goto_statement "goto _L800;" goto statement_identifier ;) })) (labeled_statement "LAB_00047f6e:\n    local_34 = 8;" statement_identifier : (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;)) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L800;" if (parenthesized_expression "((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       )" ( (binary_expression "(undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0" (call_expression "(undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1)" (parenthesized_expression "(undefined1  [72])" ( (subscript_expression "undefined1  [72]" identifier [ number_literal ]) )) (argument_list "((undefined1  [72])*fixP & (undefined1  [72])0x1)" ( (binary_expression "(undefined1  [72])*fixP & (undefined1  [72])0x1" (binary_expression "(undefined1  [72])*fixP" (parenthesized_expression "(undefined1  [72])" ( (subscript_expression "undefined1  [72]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [72])0x1" ( (type_descriptor "undefined1  [72]" type_identifier (abstract_array_declarator "[72]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [72])0x0" ( (type_descriptor "undefined1  [72]" type_identifier (abstract_array_declarator "[72]" [ number_literal ])) ) number_literal)) )) (goto_statement "goto _L800;" goto statement_identifier ;)) (expression_statement "local_28 = *(int *)((int)valP + 4);" (assignment_expression "local_28 = *(int *)((int)valP + 4)" identifier = (pointer_expression "*(int *)((int)valP + 4)" * (cast_expression "(int *)((int)valP + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)valP + 4)" ( (binary_expression "(int)valP + 4" (cast_expression "(int)valP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_2c = (uint)*valP;" (assignment_expression "local_2c = (uint)*valP" identifier = (binary_expression "(uint)*valP" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "iVar6 = local_28 + (uint)(0xffffe007 < local_2c);" (assignment_expression "iVar6 = local_28 + (uint)(0xffffe007 < local_2c)" identifier = (binary_expression "local_28 + (uint)(0xffffe007 < local_2c)" identifier + (call_expression "(uint)(0xffffe007 < local_2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffe007 < local_2c)" ( (binary_expression "0xffffe007 < local_2c" number_literal < identifier) ))))) ;) (if_statement "if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;" if (parenthesized_expression "(iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (call_expression "(uint)(0x3fff < local_2c + 0x1ff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_2c + 0x1ff8)" ( (binary_expression "0x3fff < local_2c + 0x1ff8" number_literal < (binary_expression "local_2c + 0x1ff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (goto_statement "goto LAB_000489d0;" goto statement_identifier ;)) (if_statement "if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto _L800;\n      goto LAB_000480dd;\n    }" if (parenthesized_expression "(local_44 != 0x11)" ( (binary_expression "local_44 != 0x11" identifier != number_literal) )) (compound_statement "{\n      if (local_44 != 0x16) goto _L800;\n      goto LAB_000480dd;\n    }" { (if_statement "if (local_44 != 0x16) goto _L800;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto _L800;" goto statement_identifier ;)) (goto_statement "goto LAB_000480dd;" goto statement_identifier ;) })) (expression_statement "iVar6 = local_28 + (uint)(0xfffc0007 < local_2c);" (assignment_expression "iVar6 = local_28 + (uint)(0xfffc0007 < local_2c)" identifier = (binary_expression "local_28 + (uint)(0xfffc0007 < local_2c)" identifier + (call_expression "(uint)(0xfffc0007 < local_2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffc0007 < local_2c)" ( (binary_expression "0xfffc0007 < local_2c" number_literal < identifier) ))))) ;) (if_statement "if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 == 0) && (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0)) goto LAB_0004872d;\n      local_28 = *(int *)((int)valP + 4);\n      local_2c = (uint)*valP;\n    }" if (parenthesized_expression "(iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6" (call_expression "(uint)(0x7ffff < local_2c + 0x3fff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7ffff < local_2c + 0x3fff8)" ( (binary_expression "0x7ffff < local_2c + 0x3fff8" number_literal < (binary_expression "local_2c + 0x3fff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 == 0) && (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0)) goto LAB_0004872d;\n      local_28 = *(int *)((int)valP + 4);\n      local_2c = (uint)*valP;\n    }" { (expression_statement "iVar6 = S_IS_EXTERNAL(s);" (assignment_expression "iVar6 = S_IS_EXTERNAL(s)" identifier = (call_expression "S_IS_EXTERNAL(s)" identifier (argument_list "(s)" ( identifier )))) ;) (if_statement "if ((iVar6 == 0) && (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0)) goto LAB_0004872d;" if (parenthesized_expression "((iVar6 == 0) && (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0))" ( (binary_expression "(iVar6 == 0) && (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0)" ( (comma_expression "iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 == 0" (assignment_expression "iVar6 = S_IS_WEAK(fixP->fx_addsy)" identifier = (call_expression "S_IS_WEAK(fixP->fx_addsy)" identifier (argument_list "(fixP->fx_addsy)" ( (field_expression "fixP->fx_addsy" identifier -> field_identifier) )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0004872d;" goto statement_identifier ;)) (expression_statement "local_28 = *(int *)((int)valP + 4);" (assignment_expression "local_28 = *(int *)((int)valP + 4)" identifier = (pointer_expression "*(int *)((int)valP + 4)" * (cast_expression "(int *)((int)valP + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)valP + 4)" ( (binary_expression "(int)valP + 4" (cast_expression "(int)valP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_2c = (uint)*valP;" (assignment_expression "local_2c = (uint)*valP" identifier = (binary_expression "(uint)*valP" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (expression_statement "bVar5 = fixP->fx_r_type;" (assignment_expression "bVar5 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (if_statement "if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xfffc0007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x3ffff;\n      uVar10 = 0xfffc0000;\n      uVar8 = local_2c - 8;\n      goto LAB_00048a23;\n    }" if (parenthesized_expression "(((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xfffc0007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8)))" ( (binary_expression "((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xfffc0007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8))" (parenthesized_expression "((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000))" ( (binary_expression "(bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(bVar5 == BFD_RELOC_24_PCREL)" ( (binary_expression "bVar5 == BFD_RELOC_24_PCREL" identifier == identifier) )) && (parenthesized_expression "((uVar7 & 0xffe00000) == 0xe8000000)" ( (binary_expression "(uVar7 & 0xffe00000) == 0xe8000000" (parenthesized_expression "(uVar7 & 0xffe00000)" ( (binary_expression "uVar7 & 0xffe00000" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(local_28 = local_28 + (uint)(0xfffc0007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8))" ( (comma_expression "local_28 = local_28 + (uint)(0xfffc0007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8)" (assignment_expression "local_28 = local_28 + (uint)(0xfffc0007 < local_2c)" identifier = (binary_expression "local_28 + (uint)(0xfffc0007 < local_2c)" identifier + (call_expression "(uint)(0xfffc0007 < local_2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffc0007 < local_2c)" ( (binary_expression "0xfffc0007 < local_2c" number_literal < identifier) ))))) , (binary_expression "local_28 != 0 || (uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8)" (binary_expression "local_28 != 0" identifier != number_literal) || (binary_expression "(uint)-local_28 < (uint)(0x7ffff < local_2c + 0x3fff8)" (binary_expression "(uint)-local_28" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x7ffff < local_2c + 0x3fff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7ffff < local_2c + 0x3fff8)" ( (binary_expression "0x7ffff < local_2c + 0x3fff8" number_literal < (binary_expression "local_2c + 0x3fff8" identifier + number_literal)) )))))) ))) )) (compound_statement "{\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x3ffff;\n      uVar10 = 0xfffc0000;\n      uVar8 = local_2c - 8;\n      goto LAB_00048a23;\n    }" { (expression_statement "format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (cast_expression "(char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal ))))) ;) (expression_statement "uVar11 = 0x3ffff;" (assignment_expression "uVar11 = 0x3ffff" identifier = number_literal) ;) (expression_statement "uVar10 = 0xfffc0000;" (assignment_expression "uVar10 = 0xfffc0000" identifier = number_literal) ;) (expression_statement "uVar8 = local_2c - 8;" (assignment_expression "uVar8 = local_2c - 8" identifier = (binary_expression "local_2c - 8" identifier - number_literal)) ;) (goto_statement "goto LAB_00048a23;" goto statement_identifier ;) })) (expression_statement "local_34 = uVar7 & 0xffe0e002;" (assignment_expression "local_34 = uVar7 & 0xffe0e002" identifier = (binary_expression "uVar7 & 0xffe0e002" identifier & number_literal)) ;) (goto_statement "goto LAB_000481c0;" goto statement_identifier ;) })) (labeled_statement "LAB_00048670:\n  if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {\n    s = (symbolS *)0x0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto _L800;\n    if (s == (symbolS *)0x0) goto _L857;\nLAB_00048094:\n    local_30 = 0;\n    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L857;\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L800;\nLAB_0004872d:\n      local_30 = 0;\n      paVar4 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar4 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))) {\n        local_34 = (uint)*valP;\n        local_30 = *(int *)((int)valP + 4);\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L800;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (uint)(0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L857;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    bVar5 = fixP->fx_r_type;\n    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xff800007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar8 = local_2c - 8;\n    }\n    else {\n      uVar8 = local_34 - 8;\n      local_30 = local_30 + (uint)(0xff800007 < local_34);\n      if (local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30) {\n        uVar2 = ((int)uVar8 >> 2) << 5;\n        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;\n        goto LAB_000481c0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\nLAB_00048a23:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar8);\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar7;\n    goto LAB_000481c0;\n  }" statement_identifier : (if_statement "if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {\n    s = (symbolS *)0x0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto _L800;\n    if (s == (symbolS *)0x0) goto _L857;\nLAB_00048094:\n    local_30 = 0;\n    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L857;\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L800;\nLAB_0004872d:\n      local_30 = 0;\n      paVar4 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar4 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))) {\n        local_34 = (uint)*valP;\n        local_30 = *(int *)((int)valP + 4);\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L800;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (uint)(0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L857;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    bVar5 = fixP->fx_r_type;\n    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xff800007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar8 = local_2c - 8;\n    }\n    else {\n      uVar8 = local_34 - 8;\n      local_30 = local_30 + (uint)(0xff800007 < local_34);\n      if (local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30) {\n        uVar2 = ((int)uVar8 >> 2) << 5;\n        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;\n        goto LAB_000481c0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\nLAB_00048a23:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar8);\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar7;\n    goto LAB_000481c0;\n  }" if (parenthesized_expression "(fixP->fx_r_type == _dummy_first_bfd_reloc_code_real)" ( (binary_expression "fixP->fx_r_type == _dummy_first_bfd_reloc_code_real" (field_expression "fixP->fx_r_type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n    s = (symbolS *)0x0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto _L800;\n    if (s == (symbolS *)0x0) goto _L857;\nLAB_00048094:\n    local_30 = 0;\n    if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L857;\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    iVar6 = local_28 + (uint)(0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L800;\nLAB_0004872d:\n      local_30 = 0;\n      paVar4 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar4 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))) {\n        local_34 = (uint)*valP;\n        local_30 = *(int *)((int)valP + 4);\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L800;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (uint)(0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L857;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    bVar5 = fixP->fx_r_type;\n    if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xff800007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar8 = local_2c - 8;\n    }\n    else {\n      uVar8 = local_34 - 8;\n      local_30 = local_30 + (uint)(0xff800007 < local_34);\n      if (local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30) {\n        uVar2 = ((int)uVar8 >> 2) << 5;\n        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;\n        goto LAB_000481c0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\nLAB_00048a23:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar8);\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar7;\n    goto LAB_000481c0;\n  }" { (expression_statement "s = (symbolS *)0x0;" (assignment_expression "s = (symbolS *)0x0" identifier = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }" if (parenthesized_expression "(local_44 < 0x17)" ( (binary_expression "local_44 < 0x17" identifier < number_literal) )) (compound_statement "{\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }" { (labeled_statement "LAB_00048253:\n      local_34 = 0;" statement_identifier : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;)) (if_statement "if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;" if (parenthesized_expression "((0x421000U >> (local_44 & 0x1f) & 1) != 0)" ( (binary_expression "(0x421000U >> (local_44 & 0x1f) & 1) != 0" (parenthesized_expression "(0x421000U >> (local_44 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (local_44 & 0x1f) & 1" (binary_expression "0x421000U >> (local_44 & 0x1f)" number_literal >> (parenthesized_expression "(local_44 & 0x1f)" ( (binary_expression "local_44 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00047fd9;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00048071:\n      local_34 = 0;\n    }" else (compound_statement "{\nLAB_00048071:\n      local_34 = 0;\n    }" { (labeled_statement "LAB_00048071:\n      local_34 = 0;" statement_identifier : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;)) }))) (labeled_statement "LAB_00048081:\n    local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (if_statement "if (local_44 != 0x16) goto _L800;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto _L800;" goto statement_identifier ;)) (if_statement "if (s == (symbolS *)0x0) goto _L857;" if (parenthesized_expression "(s == (symbolS *)0x0)" ( (binary_expression "s == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto _L857;" goto statement_identifier ;)) (labeled_statement "LAB_00048094:\n    local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (if_statement "if ((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       ) goto _L857;" if (parenthesized_expression "((undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0\n       )" ( (binary_expression "(undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1) == (undefined1  [72])0x0" (call_expression "(undefined1  [72])((undefined1  [72])*fixP & (undefined1  [72])0x1)" (parenthesized_expression "(undefined1  [72])" ( (subscript_expression "undefined1  [72]" identifier [ number_literal ]) )) (argument_list "((undefined1  [72])*fixP & (undefined1  [72])0x1)" ( (binary_expression "(undefined1  [72])*fixP & (undefined1  [72])0x1" (binary_expression "(undefined1  [72])*fixP" (parenthesized_expression "(undefined1  [72])" ( (subscript_expression "undefined1  [72]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [72])0x1" ( (type_descriptor "undefined1  [72]" type_identifier (abstract_array_declarator "[72]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [72])0x0" ( (type_descriptor "undefined1  [72]" type_identifier (abstract_array_declarator "[72]" [ number_literal ])) ) number_literal)) )) (goto_statement "goto _L857;" goto statement_identifier ;)) (expression_statement "local_28 = *(int *)((int)valP + 4);" (assignment_expression "local_28 = *(int *)((int)valP + 4)" identifier = (pointer_expression "*(int *)((int)valP + 4)" * (cast_expression "(int *)((int)valP + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)valP + 4)" ( (binary_expression "(int)valP + 4" (cast_expression "(int)valP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_2c = (uint)*valP;" (assignment_expression "local_2c = (uint)*valP" identifier = (binary_expression "(uint)*valP" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "iVar6 = local_28 + (uint)(0xffffe007 < local_2c);" (assignment_expression "iVar6 = local_28 + (uint)(0xffffe007 < local_2c)" identifier = (binary_expression "local_28 + (uint)(0xffffe007 < local_2c)" identifier + (call_expression "(uint)(0xffffe007 < local_2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffe007 < local_2c)" ( (binary_expression "0xffffe007 < local_2c" number_literal < identifier) ))))) ;) (expression_statement "local_44 = 0x16;" (assignment_expression "local_44 = 0x16" identifier = number_literal) ;) (if_statement "if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L800;\nLAB_0004872d:\n      local_30 = 0;\n      paVar4 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar4 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))) {\n        local_34 = (uint)*valP;\n        local_30 = *(int *)((int)valP + 4);\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L800;\n    }" if (parenthesized_expression "(iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (call_expression "(uint)(0x3fff < local_2c + 0x1ff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_2c + 0x1ff8)" ( (binary_expression "0x3fff < local_2c + 0x1ff8" number_literal < (binary_expression "local_2c + 0x1ff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\nLAB_000489d0:\n      local_30 = 0;\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L800;\nLAB_0004872d:\n      local_30 = 0;\n      paVar4 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar4 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))) {\n        local_34 = (uint)*valP;\n        local_30 = *(int *)((int)valP + 4);\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L800;\n    }" { (labeled_statement "LAB_000489d0:\n      local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (expression_statement "iVar6 = S_IS_EXTERNAL(s);" (assignment_expression "iVar6 = S_IS_EXTERNAL(s)" identifier = (call_expression "S_IS_EXTERNAL(s)" identifier (argument_list "(s)" ( identifier )))) ;) (if_statement "if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L800;" if (parenthesized_expression "((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0))" ( (binary_expression "(iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)" ( (comma_expression "iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0" (assignment_expression "iVar6 = S_IS_WEAK(fixP->fx_addsy)" identifier = (call_expression "S_IS_WEAK(fixP->fx_addsy)" identifier (argument_list "(fixP->fx_addsy)" ( (field_expression "fixP->fx_addsy" identifier -> field_identifier) )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (goto_statement "goto _L800;" goto statement_identifier ;)) (labeled_statement "LAB_0004872d:\n      local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (expression_statement "paVar4 = S_GET_SEGMENT(fixP->fx_addsy);" (assignment_expression "paVar4 = S_GET_SEGMENT(fixP->fx_addsy)" identifier = (call_expression "S_GET_SEGMENT(fixP->fx_addsy)" identifier (argument_list "(fixP->fx_addsy)" ( (field_expression "fixP->fx_addsy" identifier -> field_identifier) )))) ;) (if_statement "if ((paVar4 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))) {\n        local_34 = (uint)*valP;\n        local_30 = *(int *)((int)valP + 4);\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }" if (parenthesized_expression "((paVar4 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4]))))" ( (binary_expression "(paVar4 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))" (parenthesized_expression "(paVar4 == (segT)puVar1[4])" ( (binary_expression "paVar4 == (segT)puVar1[4]" identifier == (cast_expression "(segT)puVar1[4]" ( (type_descriptor "segT" type_identifier) ) (subscript_expression "puVar1[4]" identifier [ number_literal ]))) )) && (parenthesized_expression "((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])))" ( (parenthesized_expression "(fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4]))" ( (binary_expression "fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])" (binary_expression "fixP->fx_subsy == (symbolS *)0x0" (field_expression "fixP->fx_subsy" identifier -> field_identifier) == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4])" ( (comma_expression "paVar4 = S_GET_SEGMENT(fixP->fx_subsy), paVar4 == (segT)puVar1[4]" (assignment_expression "paVar4 = S_GET_SEGMENT(fixP->fx_subsy)" identifier = (call_expression "S_GET_SEGMENT(fixP->fx_subsy)" identifier (argument_list "(fixP->fx_subsy)" ( (field_expression "fixP->fx_subsy" identifier -> field_identifier) )))) , (binary_expression "paVar4 == (segT)puVar1[4]" identifier == (cast_expression "(segT)puVar1[4]" ( (type_descriptor "segT" type_identifier) ) (subscript_expression "puVar1[4]" identifier [ number_literal ])))) ))) )) ))) )) (compound_statement "{\n        local_34 = (uint)*valP;\n        local_30 = *(int *)((int)valP + 4);\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }" { (expression_statement "local_34 = (uint)*valP;" (assignment_expression "local_34 = (uint)*valP" identifier = (binary_expression "(uint)*valP" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "local_30 = *(int *)((int)valP + 4);" (assignment_expression "local_30 = *(int *)((int)valP + 4)" identifier = (pointer_expression "*(int *)((int)valP + 4)" * (cast_expression "(int *)((int)valP + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)valP + 4)" ( (binary_expression "(int)valP + 4" (cast_expression "(int)valP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (switch_statement "switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }" switch (parenthesized_expression "(*puVar1)" ( (pointer_expression "*puVar1" * identifier) )) (compound_statement "{\n        case 0:\n          break;\n        case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;\n        case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }" { (case_statement "case 0:\n          break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 1:\n          local_30 = local_30 + (uint)(0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;" case number_literal : (expression_statement "local_30 = local_30 + (uint)(0xfffffbff < local_34);" (assignment_expression "local_30 = local_30 + (uint)(0xfffffbff < local_34)" identifier = (binary_expression "local_30 + (uint)(0xfffffbff < local_34)" identifier + (call_expression "(uint)(0xfffffbff < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffbff < local_34)" ( (binary_expression "0xfffffbff < local_34" number_literal < identifier) ))))) ;) (expression_statement "local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000" identifier = (binary_expression "local_34 + 0x400 >> 0xb | local_30 * 0x200000" (binary_expression "local_34 + 0x400 >> 0xb" (binary_expression "local_34 + 0x400" identifier + number_literal) >> number_literal) | (binary_expression "local_30 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = local_30 >> 0xb;" (assignment_expression "local_30 = local_30 >> 0xb" identifier = (binary_expression "local_30 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar8 - 0x400;\n          local_30 = (0x3ff < uVar8) - 1;\n          break;" case number_literal : (expression_statement "uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);" (assignment_expression "uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400)" identifier = (call_expression "(uint)((ushort)local_34 & 0x7ff ^ 0x400)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ushort)local_34 & 0x7ff ^ 0x400)" ( (binary_expression "(ushort)local_34 & 0x7ff ^ 0x400" (binary_expression "(ushort)local_34 & 0x7ff" (cast_expression "(ushort)local_34" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) ^ number_literal) )))) ;) (expression_statement "local_34 = uVar8 - 0x400;" (assignment_expression "local_34 = uVar8 - 0x400" identifier = (binary_expression "uVar8 - 0x400" identifier - number_literal)) ;) (expression_statement "local_30 = (0x3ff < uVar8) - 1;" (assignment_expression "local_30 = (0x3ff < uVar8) - 1" identifier = (binary_expression "(0x3ff < uVar8) - 1" (parenthesized_expression "(0x3ff < uVar8)" ( (binary_expression "0x3ff < uVar8" number_literal < identifier) )) - number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 3:" case number_literal :) (case_statement "case 7:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = local_30 >> 0xb;\n          break;" case number_literal : (expression_statement "local_34 = local_34 >> 0xb | local_30 << 0x15;" (assignment_expression "local_34 = local_34 >> 0xb | local_30 << 0x15" identifier = (binary_expression "local_34 >> 0xb | local_30 << 0x15" (binary_expression "local_34 >> 0xb" identifier >> number_literal) | (binary_expression "local_30 << 0x15" identifier << number_literal))) ;) (expression_statement "local_30 = local_30 >> 0xb;" (assignment_expression "local_30 = local_30 >> 0xb" identifier = (binary_expression "local_30 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;" case number_literal : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n          local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n          local_30 = local_30 >> 0xb;\n          break;" case number_literal : (expression_statement "local_30 = local_30 + (uint)(0xfffff7ff < local_34);" (assignment_expression "local_30 = local_30 + (uint)(0xfffff7ff < local_34)" identifier = (binary_expression "local_30 + (uint)(0xfffff7ff < local_34)" identifier + (call_expression "(uint)(0xfffff7ff < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffff7ff < local_34)" ( (binary_expression "0xfffff7ff < local_34" number_literal < identifier) ))))) ;) (expression_statement "local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000" identifier = (binary_expression "local_34 + 0x800 >> 0xb | local_30 * 0x200000" (binary_expression "local_34 + 0x800 >> 0xb" (binary_expression "local_34 + 0x800" identifier + number_literal) >> number_literal) | (binary_expression "local_30 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = local_30 >> 0xb;" (assignment_expression "local_30 = local_30 >> 0xb" identifier = (binary_expression "local_30 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n          local_30 = -1;\n          local_34 = local_34 | 0xfffff800;\n          break;" case number_literal : (expression_statement "local_30 = -1;" (assignment_expression "local_30 = -1" identifier = number_literal) ;) (expression_statement "local_34 = local_34 | 0xfffff800;" (assignment_expression "local_34 = local_34 | 0xfffff800" identifier = (binary_expression "local_34 | 0xfffff800" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;" case number_literal : (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;" case number_literal : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\nswitchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");" default : (labeled_statement "switchD_00048784_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");" statement_identifier : comment (expression_statement "as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");" (call_expression "as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust")" identifier (argument_list "("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust")" ( (string_literal ""../../gas/../bfd/libhppa.h"" " string_content ") , number_literal , (string_literal ""hppa_field_adjust"" " string_content ") ))) ;))) })) })) (goto_statement "goto _L800;" goto statement_identifier ;) })) (labeled_statement "LAB_000480dd:\n    local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (expression_statement "iVar6 = local_28 + (uint)(0xff800007 < local_2c);" (assignment_expression "iVar6 = local_28 + (uint)(0xff800007 < local_2c)" identifier = (binary_expression "local_28 + (uint)(0xff800007 < local_2c)" identifier + (call_expression "(uint)(0xff800007 < local_2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xff800007 < local_2c)" ( (binary_expression "0xff800007 < local_2c" number_literal < identifier) ))))) ;) (if_statement "if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L857;\n      goto LAB_0004872d;\n    }" if (parenthesized_expression "(iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6" (call_expression "(uint)(0xffffff < local_2c + 0x7ffff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffff < local_2c + 0x7ffff8)" ( (binary_expression "0xffffff < local_2c + 0x7ffff8" number_literal < (binary_expression "local_2c + 0x7ffff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n      iVar6 = S_IS_EXTERNAL(s);\n      if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L857;\n      goto LAB_0004872d;\n    }" { (expression_statement "iVar6 = S_IS_EXTERNAL(s);" (assignment_expression "iVar6 = S_IS_EXTERNAL(s)" identifier = (call_expression "S_IS_EXTERNAL(s)" identifier (argument_list "(s)" ( identifier )))) ;) (if_statement "if ((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)) goto _L857;" if (parenthesized_expression "((iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0))" ( (binary_expression "(iVar6 != 0) || (iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0)" ( (comma_expression "iVar6 = S_IS_WEAK(fixP->fx_addsy), iVar6 != 0" (assignment_expression "iVar6 = S_IS_WEAK(fixP->fx_addsy)" identifier = (call_expression "S_IS_WEAK(fixP->fx_addsy)" identifier (argument_list "(fixP->fx_addsy)" ( (field_expression "fixP->fx_addsy" identifier -> field_identifier) )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (goto_statement "goto _L857;" goto statement_identifier ;)) (goto_statement "goto LAB_0004872d;" goto statement_identifier ;) })) (labeled_statement "LAB_0004812d:\n    bVar5 = fixP->fx_r_type;" statement_identifier : (expression_statement "bVar5 = fixP->fx_r_type;" (assignment_expression "bVar5 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;)) (if_statement "if (((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xff800007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar8 = local_2c - 8;\n    }\n    else {\n      uVar8 = local_34 - 8;\n      local_30 = local_30 + (uint)(0xff800007 < local_34);\n      if (local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30) {\n        uVar2 = ((int)uVar8 >> 2) << 5;\n        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;\n        goto LAB_000481c0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }" if (parenthesized_expression "(((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xff800007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8)))" ( (binary_expression "((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)) &&\n       (local_28 = local_28 + (uint)(0xff800007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8))" (parenthesized_expression "((bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000))" ( (binary_expression "(bVar5 == BFD_RELOC_24_PCREL) && ((uVar7 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(bVar5 == BFD_RELOC_24_PCREL)" ( (binary_expression "bVar5 == BFD_RELOC_24_PCREL" identifier == identifier) )) && (parenthesized_expression "((uVar7 & 0xffe00000) == 0xe8000000)" ( (binary_expression "(uVar7 & 0xffe00000) == 0xe8000000" (parenthesized_expression "(uVar7 & 0xffe00000)" ( (binary_expression "uVar7 & 0xffe00000" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(local_28 = local_28 + (uint)(0xff800007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8))" ( (comma_expression "local_28 = local_28 + (uint)(0xff800007 < local_2c),\n       local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8)" (assignment_expression "local_28 = local_28 + (uint)(0xff800007 < local_2c)" identifier = (binary_expression "local_28 + (uint)(0xff800007 < local_2c)" identifier + (call_expression "(uint)(0xff800007 < local_2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xff800007 < local_2c)" ( (binary_expression "0xff800007 < local_2c" number_literal < identifier) ))))) , (binary_expression "local_28 != 0 || (uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8)" (binary_expression "local_28 != 0" identifier != number_literal) || (binary_expression "(uint)-local_28 < (uint)(0xffffff < local_2c + 0x7ffff8)" (binary_expression "(uint)-local_28" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0xffffff < local_2c + 0x7ffff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffff < local_2c + 0x7ffff8)" ( (binary_expression "0xffffff < local_2c + 0x7ffff8" number_literal < (binary_expression "local_2c + 0x7ffff8" identifier + number_literal)) )))))) ))) )) (compound_statement "{\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar8 = local_2c - 8;\n    }" { (expression_statement "format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (cast_expression "(char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal ))))) ;) (expression_statement "uVar11 = 0x7fffff;" (assignment_expression "uVar11 = 0x7fffff" identifier = number_literal) ;) (expression_statement "uVar10 = 0xff800000;" (assignment_expression "uVar10 = 0xff800000" identifier = number_literal) ;) (expression_statement "uVar8 = local_2c - 8;" (assignment_expression "uVar8 = local_2c - 8" identifier = (binary_expression "local_2c - 8" identifier - number_literal)) ;) }) (else_clause "else {\n      uVar8 = local_34 - 8;\n      local_30 = local_30 + (uint)(0xff800007 < local_34);\n      if (local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30) {\n        uVar2 = ((int)uVar8 >> 2) << 5;\n        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;\n        goto LAB_000481c0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }" else (compound_statement "{\n      uVar8 = local_34 - 8;\n      local_30 = local_30 + (uint)(0xff800007 < local_34);\n      if (local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30) {\n        uVar2 = ((int)uVar8 >> 2) << 5;\n        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;\n        goto LAB_000481c0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }" { (expression_statement "uVar8 = local_34 - 8;" (assignment_expression "uVar8 = local_34 - 8" identifier = (binary_expression "local_34 - 8" identifier - number_literal)) ;) (expression_statement "local_30 = local_30 + (uint)(0xff800007 < local_34);" (assignment_expression "local_30 = local_30 + (uint)(0xff800007 < local_34)" identifier = (binary_expression "local_30 + (uint)(0xff800007 < local_34)" identifier + (call_expression "(uint)(0xff800007 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xff800007 < local_34)" ( (binary_expression "0xff800007 < local_34" number_literal < identifier) ))))) ;) (if_statement "if (local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30) {\n        uVar2 = ((int)uVar8 >> 2) << 5;\n        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;\n        goto LAB_000481c0;\n      }" if (parenthesized_expression "(local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30)" ( (binary_expression "local_30 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30" (binary_expression "local_30 == 0" identifier == number_literal) && (binary_expression "(uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-local_30" (call_expression "(uint)(0xffffff < local_34 + 0x7ffff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffff < local_34 + 0x7ffff8)" ( (binary_expression "0xffffff < local_34 + 0x7ffff8" number_literal < (binary_expression "local_34 + 0x7ffff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-local_30" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n        uVar2 = ((int)uVar8 >> 2) << 5;\n        local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;\n        goto LAB_000481c0;\n      }" { (expression_statement "uVar2 = ((int)uVar8 >> 2) << 5;" (assignment_expression "uVar2 = ((int)uVar8 >> 2) << 5" identifier = (binary_expression "((int)uVar8 >> 2) << 5" (parenthesized_expression "((int)uVar8 >> 2)" ( (binary_expression "(int)uVar8 >> 2" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) ;) (expression_statement "local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000;" (assignment_expression "local_34 = ((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000" identifier = (binary_expression "((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000 | uVar2 & 0x1f0000" (binary_expression "((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002 |\n                   uVar2 & 0x3e00000" (binary_expression "((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U | uVar7 & 0xfc00e002" (binary_expression "((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0x17 & 1U" (binary_expression "((int)uVar8 >> 2) * 8 & 0x1ff8U |\n                   (int)uVar8 >> 10 & 4U" (binary_expression "((int)uVar8 >> 2) * 8 & 0x1ff8U" (binary_expression "((int)uVar8 >> 2) * 8" (parenthesized_expression "((int)uVar8 >> 2)" ( (binary_expression "(int)uVar8 >> 2" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) * number_literal) & number_literal) | (binary_expression "(int)uVar8 >> 10 & 4U" (binary_expression "(int)uVar8 >> 10" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) | (binary_expression "(int)uVar8 >> 0x17 & 1U" (binary_expression "(int)uVar8 >> 0x17" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) | (binary_expression "uVar7 & 0xfc00e002" identifier & number_literal)) | (binary_expression "uVar2 & 0x3e00000" identifier & number_literal)) | (binary_expression "uVar2 & 0x1f0000" identifier & number_literal))) ;) (goto_statement "goto LAB_000481c0;" goto statement_identifier ;) })) (expression_statement "format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (cast_expression "(char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal ))))) ;) (expression_statement "uVar11 = 0x7fffff;" (assignment_expression "uVar11 = 0x7fffff" identifier = number_literal) ;) (expression_statement "uVar10 = 0xff800000;" (assignment_expression "uVar10 = 0xff800000" identifier = number_literal) ;) }))) (labeled_statement "LAB_00048a23:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar8);" statement_identifier : (expression_statement "as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar8);" (call_expression "as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar8)" identifier (argument_list "(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar8)" ( (field_expression "fixP->fx_file" identifier -> field_identifier) , (field_expression "fixP->fx_line" identifier -> field_identifier) , identifier , identifier , identifier , identifier ))) ;)) (expression_statement "bVar5 = fixP->fx_r_type;" (assignment_expression "bVar5 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (expression_statement "local_34 = uVar7;" (assignment_expression "local_34 = uVar7" identifier = identifier) ;) (goto_statement "goto LAB_000481c0;" goto statement_identifier ;) }))) (labeled_statement "LAB_0004887b:\n  local_34 = (uint)*valP;" statement_identifier : (expression_statement "local_34 = (uint)*valP;" (assignment_expression "local_34 = (uint)*valP" identifier = (binary_expression "(uint)*valP" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "local_30 = *(int *)((int)valP + 4);" (assignment_expression "local_30 = *(int *)((int)valP + 4)" identifier = (pointer_expression "*(int *)((int)valP + 4)" * (cast_expression "(int *)((int)valP + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)valP + 4)" ( (binary_expression "(int)valP + 4" (cast_expression "(int)valP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (switch_statement "switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto _L800;\n    goto LAB_000488ce;\n  case 1:\n    local_30 = local_30 + (uint)(0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 2:\n    uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar8 - 0x400;\n    local_30 = (0x3ff < uVar8) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 6:\n    local_30 = -1;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto switchD_00048784_caseD_c;\n  }" switch (parenthesized_expression "(*puVar1)" ( (pointer_expression "*puVar1" * identifier) )) (compound_statement "{\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto _L800;\n    goto LAB_000488ce;\n  case 1:\n    local_30 = local_30 + (uint)(0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 2:\n    uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar8 - 0x400;\n    local_30 = (0x3ff < uVar8) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;\n  case 6:\n    local_30 = -1;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto switchD_00048784_caseD_c;\n  }" { (case_statement "case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto _L800;\n    goto LAB_000488ce;" case number_literal : (if_statement "if ((local_44 == 0x11) || (local_44 == 0xc)) goto _L800;" if (parenthesized_expression "((local_44 == 0x11) || (local_44 == 0xc))" ( (binary_expression "(local_44 == 0x11) || (local_44 == 0xc)" (parenthesized_expression "(local_44 == 0x11)" ( (binary_expression "local_44 == 0x11" identifier == number_literal) )) || (parenthesized_expression "(local_44 == 0xc)" ( (binary_expression "local_44 == 0xc" identifier == number_literal) ))) )) (goto_statement "goto _L800;" goto statement_identifier ;)) (goto_statement "goto LAB_000488ce;" goto statement_identifier ;)) (case_statement "case 1:\n    local_30 = local_30 + (uint)(0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;" case number_literal : (expression_statement "local_30 = local_30 + (uint)(0xfffffbff < local_34);" (assignment_expression "local_30 = local_30 + (uint)(0xfffffbff < local_34)" identifier = (binary_expression "local_30 + (uint)(0xfffffbff < local_34)" identifier + (call_expression "(uint)(0xfffffbff < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffbff < local_34)" ( (binary_expression "0xfffffbff < local_34" number_literal < identifier) ))))) ;) (expression_statement "local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x400 >> 0xb | local_30 * 0x200000" identifier = (binary_expression "local_34 + 0x400 >> 0xb | local_30 * 0x200000" (binary_expression "local_34 + 0x400 >> 0xb" (binary_expression "local_34 + 0x400" identifier + number_literal) >> number_literal) | (binary_expression "local_30 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = local_30 >> 0xb;" (assignment_expression "local_30 = local_30 >> 0xb" identifier = (binary_expression "local_30 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n    uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar8 - 0x400;\n    local_30 = (0x3ff < uVar8) - 1;\n    break;" case number_literal : (expression_statement "uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);" (assignment_expression "uVar8 = (uint)((ushort)local_34 & 0x7ff ^ 0x400)" identifier = (call_expression "(uint)((ushort)local_34 & 0x7ff ^ 0x400)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ushort)local_34 & 0x7ff ^ 0x400)" ( (binary_expression "(ushort)local_34 & 0x7ff ^ 0x400" (binary_expression "(ushort)local_34 & 0x7ff" (cast_expression "(ushort)local_34" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) ^ number_literal) )))) ;) (expression_statement "local_34 = uVar8 - 0x400;" (assignment_expression "local_34 = uVar8 - 0x400" identifier = (binary_expression "uVar8 - 0x400" identifier - number_literal)) ;) (expression_statement "local_30 = (0x3ff < uVar8) - 1;" (assignment_expression "local_30 = (0x3ff < uVar8) - 1" identifier = (binary_expression "(0x3ff < uVar8) - 1" (parenthesized_expression "(0x3ff < uVar8)" ( (binary_expression "0x3ff < uVar8" number_literal < identifier) )) - number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 3:" case number_literal :) (case_statement "case 7:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = local_30 >> 0xb;\n    break;" case number_literal : (expression_statement "local_34 = local_34 >> 0xb | local_30 << 0x15;" (assignment_expression "local_34 = local_34 >> 0xb | local_30 << 0x15" identifier = (binary_expression "local_34 >> 0xb | local_30 << 0x15" (binary_expression "local_34 >> 0xb" identifier >> number_literal) | (binary_expression "local_30 << 0x15" identifier << number_literal))) ;) (expression_statement "local_30 = local_30 >> 0xb;" (assignment_expression "local_30 = local_30 >> 0xb" identifier = (binary_expression "local_30 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;" case number_literal : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n    local_30 = local_30 + (uint)(0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;\n    local_30 = local_30 >> 0xb;\n    break;" case number_literal : (expression_statement "local_30 = local_30 + (uint)(0xfffff7ff < local_34);" (assignment_expression "local_30 = local_30 + (uint)(0xfffff7ff < local_34)" identifier = (binary_expression "local_30 + (uint)(0xfffff7ff < local_34)" identifier + (call_expression "(uint)(0xfffff7ff < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffff7ff < local_34)" ( (binary_expression "0xfffff7ff < local_34" number_literal < identifier) ))))) ;) (expression_statement "local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x800 >> 0xb | local_30 * 0x200000" identifier = (binary_expression "local_34 + 0x800 >> 0xb | local_30 * 0x200000" (binary_expression "local_34 + 0x800 >> 0xb" (binary_expression "local_34 + 0x800" identifier + number_literal) >> number_literal) | (binary_expression "local_30 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = local_30 >> 0xb;" (assignment_expression "local_30 = local_30 >> 0xb" identifier = (binary_expression "local_30 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n    local_30 = -1;\n    local_34 = local_34 | 0xfffff800;\n    break;" case number_literal : (expression_statement "local_30 = -1;" (assignment_expression "local_30 = -1" identifier = number_literal) ;) (expression_statement "local_34 = local_34 | 0xfffff800;" (assignment_expression "local_34 = local_34 | 0xfffff800" identifier = (binary_expression "local_34 | 0xfffff800" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;" case number_literal : (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;" case number_literal : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n    goto switchD_00048784_caseD_c;" default : (goto_statement "goto switchD_00048784_caseD_c;" goto statement_identifier ;)) })) (if_statement "if ((local_44 != 0xc) && (local_44 != 0x11)) {\nLAB_000488ce:\n    if (local_44 != 0x16) goto _L800;\n_L857:\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    goto LAB_0004812d;\n  }" if (parenthesized_expression "((local_44 != 0xc) && (local_44 != 0x11))" ( (binary_expression "(local_44 != 0xc) && (local_44 != 0x11)" (parenthesized_expression "(local_44 != 0xc)" ( (binary_expression "local_44 != 0xc" identifier != number_literal) )) && (parenthesized_expression "(local_44 != 0x11)" ( (binary_expression "local_44 != 0x11" identifier != number_literal) ))) )) (compound_statement "{\nLAB_000488ce:\n    if (local_44 != 0x16) goto _L800;\n_L857:\n    local_28 = *(int *)((int)valP + 4);\n    local_2c = (uint)*valP;\n    goto LAB_0004812d;\n  }" { (labeled_statement "LAB_000488ce:\n    if (local_44 != 0x16) goto _L800;" statement_identifier : (if_statement "if (local_44 != 0x16) goto _L800;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto _L800;" goto statement_identifier ;))) (labeled_statement "_L857:\n    local_28 = *(int *)((int)valP + 4);" statement_identifier : (expression_statement "local_28 = *(int *)((int)valP + 4);" (assignment_expression "local_28 = *(int *)((int)valP + 4)" identifier = (pointer_expression "*(int *)((int)valP + 4)" * (cast_expression "(int *)((int)valP + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)valP + 4)" ( (binary_expression "(int)valP + 4" (cast_expression "(int)valP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "local_2c = (uint)*valP;" (assignment_expression "local_2c = (uint)*valP" identifier = (binary_expression "(uint)*valP" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (goto_statement "goto LAB_0004812d;" goto statement_identifier ;) })) (labeled_statement "_L800:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(local_44) {\n  case 10:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000)) goto LAB_00048a00;\n    uVar7 = uVar7 & 0xffffc00e;\n    uVar8 = local_34 * 2 & 0x3ff0;\nLAB_00048451:\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 | (int)local_34 >> 0xd & 1U | uVar7;\n    break;\n  case 0xc:\n    uVar8 = local_34 - 8;\n    local_30 = local_30 + (uint)(0xffffe007 < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U | uVar7 & 0xffffe002;\n    break;\n  case 0xe:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30) {\n      uVar7 = uVar7 & 0xffffc000;\n      uVar8 = local_34 * 2 & 0x3ffe;\n      goto LAB_00048451;\n    }\nLAB_00048a00:\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar11 = 0x1fff;\n    uVar10 = 0xffffe000;\n    uVar8 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar8 = local_34 & 0x8000;\n    bVar5 = fixP->fx_r_type;\n    local_34 = (int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |\n               uVar7 & 0xffff0000 | (int)uVar8 >> 0xf;\n    break;\n  case 0x16:\n    goto _L857;\n  case 0x20:\n    bVar5 = fixP->fx_r_type;\n    break;\n  case 0xfffffff0:\n    uVar8 = local_34 * 2 & 0xfff8;\n    uVar7 = uVar7 & 0xffff0006 | (int)(local_34 & 0x8000) >> 0xf;\n    goto LAB_00048512;\n  default:\n    pcVar3 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3);\n    return;\n  case 0xfffffff6:\n    uVar8 = local_34 * 2 & 0xfff0;\n    uVar7 = uVar7 & 0xffff000e | (int)(local_34 & 0x8000) >> 0xf;\nLAB_00048512:\n    bVar5 = fixP->fx_r_type;\n    local_34 = local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1 | uVar7;\n  }" statement_identifier : comment (switch_statement "switch(local_44) {\n  case 10:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000)) goto LAB_00048a00;\n    uVar7 = uVar7 & 0xffffc00e;\n    uVar8 = local_34 * 2 & 0x3ff0;\nLAB_00048451:\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 | (int)local_34 >> 0xd & 1U | uVar7;\n    break;\n  case 0xc:\n    uVar8 = local_34 - 8;\n    local_30 = local_30 + (uint)(0xffffe007 < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U | uVar7 & 0xffffe002;\n    break;\n  case 0xe:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30) {\n      uVar7 = uVar7 & 0xffffc000;\n      uVar8 = local_34 * 2 & 0x3ffe;\n      goto LAB_00048451;\n    }\nLAB_00048a00:\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar11 = 0x1fff;\n    uVar10 = 0xffffe000;\n    uVar8 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar8 = local_34 & 0x8000;\n    bVar5 = fixP->fx_r_type;\n    local_34 = (int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |\n               uVar7 & 0xffff0000 | (int)uVar8 >> 0xf;\n    break;\n  case 0x16:\n    goto _L857;\n  case 0x20:\n    bVar5 = fixP->fx_r_type;\n    break;\n  case 0xfffffff0:\n    uVar8 = local_34 * 2 & 0xfff8;\n    uVar7 = uVar7 & 0xffff0006 | (int)(local_34 & 0x8000) >> 0xf;\n    goto LAB_00048512;\n  default:\n    pcVar3 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3);\n    return;\n  case 0xfffffff6:\n    uVar8 = local_34 * 2 & 0xfff0;\n    uVar7 = uVar7 & 0xffff000e | (int)(local_34 & 0x8000) >> 0xf;\nLAB_00048512:\n    bVar5 = fixP->fx_r_type;\n    local_34 = local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1 | uVar7;\n  }" switch (parenthesized_expression "(local_44)" ( identifier )) (compound_statement "{\n  case 10:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000)) goto LAB_00048a00;\n    uVar7 = uVar7 & 0xffffc00e;\n    uVar8 = local_34 * 2 & 0x3ff0;\nLAB_00048451:\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 | (int)local_34 >> 0xd & 1U | uVar7;\n    break;\n  case 0xc:\n    uVar8 = local_34 - 8;\n    local_30 = local_30 + (uint)(0xffffe007 < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U | uVar7 & 0xffffe002;\n    break;\n  case 0xe:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30) {\n      uVar7 = uVar7 & 0xffffc000;\n      uVar8 = local_34 * 2 & 0x3ffe;\n      goto LAB_00048451;\n    }\nLAB_00048a00:\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar11 = 0x1fff;\n    uVar10 = 0xffffe000;\n    uVar8 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar8 = local_34 & 0x8000;\n    bVar5 = fixP->fx_r_type;\n    local_34 = (int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |\n               uVar7 & 0xffff0000 | (int)uVar8 >> 0xf;\n    break;\n  case 0x16:\n    goto _L857;\n  case 0x20:\n    bVar5 = fixP->fx_r_type;\n    break;\n  case 0xfffffff0:\n    uVar8 = local_34 * 2 & 0xfff8;\n    uVar7 = uVar7 & 0xffff0006 | (int)(local_34 & 0x8000) >> 0xf;\n    goto LAB_00048512;\n  default:\n    pcVar3 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3);\n    return;\n  case 0xfffffff6:\n    uVar8 = local_34 * 2 & 0xfff0;\n    uVar7 = uVar7 & 0xffff000e | (int)(local_34 & 0x8000) >> 0xf;\nLAB_00048512:\n    bVar5 = fixP->fx_r_type;\n    local_34 = local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1 | uVar7;\n  }" { (case_statement "case 10:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000)) goto LAB_00048a00;\n    uVar7 = uVar7 & 0xffffc00e;\n    uVar8 = local_34 * 2 & 0x3ff0;\nLAB_00048451:\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 | (int)local_34 >> 0xd & 1U | uVar7;\n    break;" case number_literal : (expression_statement "local_30 = local_30 + (uint)(0xffffdfff < local_34);" (assignment_expression "local_30 = local_30 + (uint)(0xffffdfff < local_34)" identifier = (binary_expression "local_30 + (uint)(0xffffdfff < local_34)" identifier + (call_expression "(uint)(0xffffdfff < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffdfff < local_34)" ( (binary_expression "0xffffdfff < local_34" number_literal < identifier) ))))) ;) (if_statement "if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000)) goto LAB_00048a00;" if (parenthesized_expression "(local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000))" ( (binary_expression "local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000)" (binary_expression "local_30 != 0" identifier != number_literal) || (binary_expression "(uint)-local_30 < (uint)(0x3fff < local_34 + 0x2000)" (binary_expression "(uint)-local_30" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3fff < local_34 + 0x2000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_34 + 0x2000)" ( (binary_expression "0x3fff < local_34 + 0x2000" number_literal < (binary_expression "local_34 + 0x2000" identifier + number_literal)) ))))) )) (goto_statement "goto LAB_00048a00;" goto statement_identifier ;)) (expression_statement "uVar7 = uVar7 & 0xffffc00e;" (assignment_expression "uVar7 = uVar7 & 0xffffc00e" identifier = (binary_expression "uVar7 & 0xffffc00e" identifier & number_literal)) ;) (expression_statement "uVar8 = local_34 * 2 & 0x3ff0;" (assignment_expression "uVar8 = local_34 * 2 & 0x3ff0" identifier = (binary_expression "local_34 * 2 & 0x3ff0" (binary_expression "local_34 * 2" identifier * number_literal) & number_literal)) ;) (labeled_statement "LAB_00048451:\n    bVar5 = fixP->fx_r_type;" statement_identifier : (expression_statement "bVar5 = fixP->fx_r_type;" (assignment_expression "bVar5 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;)) (expression_statement "local_34 = uVar8 | (int)local_34 >> 0xd & 1U | uVar7;" (assignment_expression "local_34 = uVar8 | (int)local_34 >> 0xd & 1U | uVar7" identifier = (binary_expression "uVar8 | (int)local_34 >> 0xd & 1U | uVar7" (binary_expression "uVar8 | (int)local_34 >> 0xd & 1U" identifier | (binary_expression "(int)local_34 >> 0xd & 1U" (binary_expression "(int)local_34 >> 0xd" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) | identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n    uVar8 = local_34 - 8;\n    local_30 = local_30 + (uint)(0xffffe007 < local_34);\n    if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    bVar5 = fixP->fx_r_type;\n    local_34 = uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U | uVar7 & 0xffffe002;\n    break;" case number_literal : (expression_statement "uVar8 = local_34 - 8;" (assignment_expression "uVar8 = local_34 - 8" identifier = (binary_expression "local_34 - 8" identifier - number_literal)) ;) (expression_statement "local_30 = local_30 + (uint)(0xffffe007 < local_34);" (assignment_expression "local_30 = local_30 + (uint)(0xffffe007 < local_34)" identifier = (binary_expression "local_30 + (uint)(0xffffe007 < local_34)" identifier + (call_expression "(uint)(0xffffe007 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffe007 < local_34)" ( (binary_expression "0xffffe007 < local_34" number_literal < identifier) ))))) ;) (if_statement "if (local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00048a23;\n    }" if (parenthesized_expression "(local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8))" ( (binary_expression "local_30 != 0 || (uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8)" (binary_expression "local_30 != 0" identifier != number_literal) || (binary_expression "(uint)-local_30 < (uint)(0x3fff < local_34 + 0x1ff8)" (binary_expression "(uint)-local_30" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3fff < local_34 + 0x1ff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_34 + 0x1ff8)" ( (binary_expression "0x3fff < local_34 + 0x1ff8" number_literal < (binary_expression "local_34 + 0x1ff8" identifier + number_literal)) ))))) )) (compound_statement "{\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00048a23;\n    }" { (expression_statement "format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (cast_expression "(char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal ))))) ;) (expression_statement "uVar11 = 0x1fff;" (assignment_expression "uVar11 = 0x1fff" identifier = number_literal) ;) (expression_statement "uVar10 = 0xffffe000;" (assignment_expression "uVar10 = 0xffffe000" identifier = number_literal) ;) (goto_statement "goto LAB_00048a23;" goto statement_identifier ;) })) (expression_statement "bVar5 = fixP->fx_r_type;" (assignment_expression "bVar5 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (expression_statement "local_34 = uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U | uVar7 & 0xffffe002;" (assignment_expression "local_34 = uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U | uVar7 & 0xffffe002" identifier = (binary_expression "uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U | uVar7 & 0xffffe002" (binary_expression "uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U | (int)uVar8 >> 0xd & 1U" (binary_expression "uVar8 * 2 & 0x1ff8 |\n               (int)uVar8 >> 10 & 4U" (binary_expression "uVar8 * 2 & 0x1ff8" (binary_expression "uVar8 * 2" identifier * number_literal) & number_literal) | (binary_expression "(int)uVar8 >> 10 & 4U" (binary_expression "(int)uVar8 >> 10" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) | (binary_expression "(int)uVar8 >> 0xd & 1U" (binary_expression "(int)uVar8 >> 0xd" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) | (binary_expression "uVar7 & 0xffffe002" identifier & number_literal))) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n    local_30 = local_30 + (uint)(0xffffdfff < local_34);\n    if (local_30 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30) {\n      uVar7 = uVar7 & 0xffffc000;\n      uVar8 = local_34 * 2 & 0x3ffe;\n      goto LAB_00048451;\n    }\nLAB_00048a00:\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar11 = 0x1fff;\n    uVar10 = 0xffffe000;\n    uVar8 = local_34;\n    goto LAB_00048a23;" case number_literal : (expression_statement "local_30 = local_30 + (uint)(0xffffdfff < local_34);" (assignment_expression "local_30 = local_30 + (uint)(0xffffdfff < local_34)" identifier = (binary_expression "local_30 + (uint)(0xffffdfff < local_34)" identifier + (call_expression "(uint)(0xffffdfff < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffdfff < local_34)" ( (binary_expression "0xffffdfff < local_34" number_literal < identifier) ))))) ;) (if_statement "if (local_30 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30) {\n      uVar7 = uVar7 & 0xffffc000;\n      uVar8 = local_34 * 2 & 0x3ffe;\n      goto LAB_00048451;\n    }" if (parenthesized_expression "(local_30 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30)" ( (binary_expression "local_30 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30" (binary_expression "local_30 == 0" identifier == number_literal) && (binary_expression "(uint)(0x3fff < local_34 + 0x2000) <= (uint)-local_30" (call_expression "(uint)(0x3fff < local_34 + 0x2000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_34 + 0x2000)" ( (binary_expression "0x3fff < local_34 + 0x2000" number_literal < (binary_expression "local_34 + 0x2000" identifier + number_literal)) ))) <= (binary_expression "(uint)-local_30" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n      uVar7 = uVar7 & 0xffffc000;\n      uVar8 = local_34 * 2 & 0x3ffe;\n      goto LAB_00048451;\n    }" { (expression_statement "uVar7 = uVar7 & 0xffffc000;" (assignment_expression "uVar7 = uVar7 & 0xffffc000" identifier = (binary_expression "uVar7 & 0xffffc000" identifier & number_literal)) ;) (expression_statement "uVar8 = local_34 * 2 & 0x3ffe;" (assignment_expression "uVar8 = local_34 * 2 & 0x3ffe" identifier = (binary_expression "local_34 * 2 & 0x3ffe" (binary_expression "local_34 * 2" identifier * number_literal) & number_literal)) ;) (goto_statement "goto LAB_00048451;" goto statement_identifier ;) })) (labeled_statement "LAB_00048a00:\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);" statement_identifier : (expression_statement "format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (cast_expression "(char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal ))))) ;)) (expression_statement "uVar11 = 0x1fff;" (assignment_expression "uVar11 = 0x1fff" identifier = number_literal) ;) (expression_statement "uVar10 = 0xffffe000;" (assignment_expression "uVar10 = 0xffffe000" identifier = number_literal) ;) (expression_statement "uVar8 = local_34;" (assignment_expression "uVar8 = local_34" identifier = identifier) ;) (goto_statement "goto LAB_00048a23;" goto statement_identifier ;)) (case_statement "case 0x10:\n    uVar8 = local_34 & 0x8000;\n    bVar5 = fixP->fx_r_type;\n    local_34 = (int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |\n               uVar7 & 0xffff0000 | (int)uVar8 >> 0xf;\n    break;" case number_literal : (expression_statement "uVar8 = local_34 & 0x8000;" (assignment_expression "uVar8 = local_34 & 0x8000" identifier = (binary_expression "local_34 & 0x8000" identifier & number_literal)) ;) (expression_statement "bVar5 = fixP->fx_r_type;" (assignment_expression "bVar5 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (expression_statement "local_34 = (int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |\n               uVar7 & 0xffff0000 | (int)uVar8 >> 0xf;" (assignment_expression "local_34 = (int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |\n               uVar7 & 0xffff0000 | (int)uVar8 >> 0xf" identifier = (binary_expression "(int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |\n               uVar7 & 0xffff0000 | (int)uVar8 >> 0xf" (binary_expression "(int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8 |\n               uVar7 & 0xffff0000" (binary_expression "(int)uVar8 >> 1 ^ local_34 * 2 & 0xffff ^ uVar8" (binary_expression "(int)uVar8 >> 1 ^ local_34 * 2 & 0xffff" (binary_expression "(int)uVar8 >> 1" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ^ (binary_expression "local_34 * 2 & 0xffff" (binary_expression "local_34 * 2" identifier * number_literal) & number_literal)) ^ identifier) | (binary_expression "uVar7 & 0xffff0000" identifier & number_literal)) | (binary_expression "(int)uVar8 >> 0xf" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal))) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\n    goto _L857;" case number_literal : (goto_statement "goto _L857;" goto statement_identifier ;)) (case_statement "case 0x20:\n    bVar5 = fixP->fx_r_type;\n    break;" case number_literal : (expression_statement "bVar5 = fixP->fx_r_type;" (assignment_expression "bVar5 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xfffffff0:\n    uVar8 = local_34 * 2 & 0xfff8;\n    uVar7 = uVar7 & 0xffff0006 | (int)(local_34 & 0x8000) >> 0xf;\n    goto LAB_00048512;" case number_literal : (expression_statement "uVar8 = local_34 * 2 & 0xfff8;" (assignment_expression "uVar8 = local_34 * 2 & 0xfff8" identifier = (binary_expression "local_34 * 2 & 0xfff8" (binary_expression "local_34 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "uVar7 = uVar7 & 0xffff0006 | (int)(local_34 & 0x8000) >> 0xf;" (assignment_expression "uVar7 = uVar7 & 0xffff0006 | (int)(local_34 & 0x8000) >> 0xf" identifier = (binary_expression "uVar7 & 0xffff0006 | (int)(local_34 & 0x8000) >> 0xf" (binary_expression "uVar7 & 0xffff0006" identifier & number_literal) | (binary_expression "(int)(local_34 & 0x8000) >> 0xf" (cast_expression "(int)(local_34 & 0x8000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_34 & 0x8000)" ( (binary_expression "local_34 & 0x8000" identifier & number_literal) ))) >> number_literal))) ;) (goto_statement "goto LAB_00048512;" goto statement_identifier ;)) (case_statement "default:\n    pcVar3 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3);\n    return;" default : (expression_statement "pcVar3 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5)" identifier (argument_list "(0,"Unknown relocation encountered in md_apply_fix.",5)" ( number_literal , (string_literal ""Unknown relocation encountered in md_apply_fix."" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3);" (call_expression "as_bad_where(fixP->fx_file,fixP->fx_line,pcVar3)" identifier (argument_list "(fixP->fx_file,fixP->fx_line,pcVar3)" ( (field_expression "fixP->fx_file" identifier -> field_identifier) , (field_expression "fixP->fx_line" identifier -> field_identifier) , identifier ))) ;) (return_statement "return;" return ;)) (case_statement "case 0xfffffff6:\n    uVar8 = local_34 * 2 & 0xfff0;\n    uVar7 = uVar7 & 0xffff000e | (int)(local_34 & 0x8000) >> 0xf;\nLAB_00048512:\n    bVar5 = fixP->fx_r_type;\n    local_34 = local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1 | uVar7;" case number_literal : (expression_statement "uVar8 = local_34 * 2 & 0xfff0;" (assignment_expression "uVar8 = local_34 * 2 & 0xfff0" identifier = (binary_expression "local_34 * 2 & 0xfff0" (binary_expression "local_34 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "uVar7 = uVar7 & 0xffff000e | (int)(local_34 & 0x8000) >> 0xf;" (assignment_expression "uVar7 = uVar7 & 0xffff000e | (int)(local_34 & 0x8000) >> 0xf" identifier = (binary_expression "uVar7 & 0xffff000e | (int)(local_34 & 0x8000) >> 0xf" (binary_expression "uVar7 & 0xffff000e" identifier & number_literal) | (binary_expression "(int)(local_34 & 0x8000) >> 0xf" (cast_expression "(int)(local_34 & 0x8000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_34 & 0x8000)" ( (binary_expression "local_34 & 0x8000" identifier & number_literal) ))) >> number_literal))) ;) (labeled_statement "LAB_00048512:\n    bVar5 = fixP->fx_r_type;" statement_identifier : (expression_statement "bVar5 = fixP->fx_r_type;" (assignment_expression "bVar5 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;)) (expression_statement "local_34 = local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1 | uVar7;" (assignment_expression "local_34 = local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1 | uVar7" identifier = (binary_expression "local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1 | uVar7" (binary_expression "local_34 & 0x8000 ^ uVar8 ^ (int)(local_34 & 0x8000) >> 1" (binary_expression "local_34 & 0x8000 ^ uVar8" (binary_expression "local_34 & 0x8000" identifier & number_literal) ^ identifier) ^ (binary_expression "(int)(local_34 & 0x8000) >> 1" (cast_expression "(int)(local_34 & 0x8000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_34 & 0x8000)" ( (binary_expression "local_34 & 0x8000" identifier & number_literal) ))) >> number_literal)) | identifier)) ;)) }))) (labeled_statement "LAB_000481c0:\n  if (bVar5 != BFD_RELOC_ALPHA_LITERAL) {\n    if (bVar5 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar5 != BFD_RELOC_SPU_LO16) &&\n         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))) goto LAB_000481f6;\n    }\n    else if ((bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_000481f6;\n  }" statement_identifier : (if_statement "if (bVar5 != BFD_RELOC_ALPHA_LITERAL) {\n    if (bVar5 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar5 != BFD_RELOC_SPU_LO16) &&\n         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))) goto LAB_000481f6;\n    }\n    else if ((bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_000481f6;\n  }" if (parenthesized_expression "(bVar5 != BFD_RELOC_ALPHA_LITERAL)" ( (binary_expression "bVar5 != BFD_RELOC_ALPHA_LITERAL" identifier != identifier) )) (compound_statement "{\n    if (bVar5 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar5 != BFD_RELOC_SPU_LO16) &&\n         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))) goto LAB_000481f6;\n    }\n    else if ((bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_000481f6;\n  }" { (if_statement "if (bVar5 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar5 != BFD_RELOC_SPU_LO16) &&\n         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))) goto LAB_000481f6;\n    }\n    else if ((bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_000481f6;" if (parenthesized_expression "(bVar5 < BFD_RELOC_ALPHA_ELF_LITERAL)" ( (binary_expression "bVar5 < BFD_RELOC_ALPHA_ELF_LITERAL" identifier < identifier) )) (compound_statement "{\n      if ((bVar5 != BFD_RELOC_SPU_LO16) &&\n         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))) goto LAB_000481f6;\n    }" { (if_statement "if ((bVar5 != BFD_RELOC_SPU_LO16) &&\n         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))) goto LAB_000481f6;" if (parenthesized_expression "((bVar5 != BFD_RELOC_SPU_LO16) &&\n         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18))))" ( (binary_expression "(bVar5 != BFD_RELOC_SPU_LO16) &&\n         ((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))" (parenthesized_expression "(bVar5 != BFD_RELOC_SPU_LO16)" ( (binary_expression "bVar5 != BFD_RELOC_SPU_LO16" identifier != identifier) )) && (parenthesized_expression "((bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)))" ( (parenthesized_expression "(bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18))" ( (binary_expression "bVar5 != BFD_RELOC_SPU_ADD_PIC && (bVar5 != BFD_RELOC_SPU_IMM18)" (binary_expression "bVar5 != BFD_RELOC_SPU_ADD_PIC" identifier != identifier) && (parenthesized_expression "(bVar5 != BFD_RELOC_SPU_IMM18)" ( (binary_expression "bVar5 != BFD_RELOC_SPU_IMM18" identifier != identifier) ))) )) ))) )) (goto_statement "goto LAB_000481f6;" goto statement_identifier ;)) }) (else_clause "else if ((bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_000481f6;" else (if_statement "if ((bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_000481f6;" if (parenthesized_expression "((bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))))" ( (binary_expression "(bVar5 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16)))" (parenthesized_expression "(bVar5 < BFD_RELOC_MIPS_GOT_LO16)" ( (binary_expression "bVar5 < BFD_RELOC_MIPS_GOT_LO16" identifier < identifier) )) || (parenthesized_expression "((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16)))" ( (parenthesized_expression "(BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16))" ( (binary_expression "BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5 && (1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16)" (binary_expression "BFD_RELOC_MICROMIPS_GOT_LO16 < bVar5" identifier < identifier) && (parenthesized_expression "(1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16)" ( (binary_expression "1 < bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16" number_literal < (binary_expression "bVar5 - BFD_RELOC_MICROMIPS_CALL_HI16" identifier - identifier)) ))) )) ))) )) (goto_statement "goto LAB_000481f6;" goto statement_identifier ;)))) }))) (if_statement "if (fixP->fx_addsy != (symbolS *)0x0) {\n    S_SET_THREAD_LOCAL(fixP->fx_addsy);\n  }" if (parenthesized_expression "(fixP->fx_addsy != (symbolS *)0x0)" ( (binary_expression "fixP->fx_addsy != (symbolS *)0x0" (field_expression "fixP->fx_addsy" identifier -> field_identifier) != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    S_SET_THREAD_LOCAL(fixP->fx_addsy);\n  }" { (expression_statement "S_SET_THREAD_LOCAL(fixP->fx_addsy);" (call_expression "S_SET_THREAD_LOCAL(fixP->fx_addsy)" identifier (argument_list "(fixP->fx_addsy)" ( (field_expression "fixP->fx_addsy" identifier -> field_identifier) ))) ;) })) (labeled_statement "LAB_000481f6:\n                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*stdoutput->xvec->bfd_putx32)((longlong)(int)local_34,pcVar3);" statement_identifier : comment comment (expression_statement "(*stdoutput->xvec->bfd_putx32)((longlong)(int)local_34,pcVar3);" (call_expression "(*stdoutput->xvec->bfd_putx32)((longlong)(int)local_34,pcVar3)" (parenthesized_expression "(*stdoutput->xvec->bfd_putx32)" ( (pointer_expression "*stdoutput->xvec->bfd_putx32" * (field_expression "stdoutput->xvec->bfd_putx32" (field_expression "stdoutput->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "((longlong)(int)local_34,pcVar3)" ( (cast_expression "(longlong)(int)local_34" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00047e40(byte *param_1,uint *param_2)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_44;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  \n  iVar3 = *(int *)(param_1 + 0x30);\n  if (iVar3 - 0xe8U < 2) {\n    return;\n  }\n  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {\n    *param_1 = *param_1 | 0x20;\n  }\n  puVar1 = *(undefined4 **)(param_1 + 0x44);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if (iVar3 != 0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }\nLAB_00048670:\n  if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }\nLAB_0004887b:\n  local_34 = *param_2;\n  local_30 = param_2[1];\n  switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }\n  if ((local_44 != 0xc) && (local_44 != 0x11)) {\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }\nLAB_00047f87:\n                    \n  switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }\nLAB_000481c0:\n  if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }\nLAB_000481f6:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();\n  return;\n}\n\n" (function_definition "void FUN_00047e40(byte *param_1,uint *param_2)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_44;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  \n  iVar3 = *(int *)(param_1 + 0x30);\n  if (iVar3 - 0xe8U < 2) {\n    return;\n  }\n  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {\n    *param_1 = *param_1 | 0x20;\n  }\n  puVar1 = *(undefined4 **)(param_1 + 0x44);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if (iVar3 != 0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }\nLAB_00048670:\n  if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }\nLAB_0004887b:\n  local_34 = *param_2;\n  local_30 = param_2[1];\n  switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }\n  if ((local_44 != 0xc) && (local_44 != 0x11)) {\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }\nLAB_00047f87:\n                    \n  switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }\nLAB_000481c0:\n  if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }\nLAB_000481f6:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();\n  return;\n}" primitive_type (function_declarator "FUN_00047e40(byte *param_1,uint *param_2)" identifier (parameter_list "(byte *param_1,uint *param_2)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_44;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  \n  iVar3 = *(int *)(param_1 + 0x30);\n  if (iVar3 - 0xe8U < 2) {\n    return;\n  }\n  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {\n    *param_1 = *param_1 | 0x20;\n  }\n  puVar1 = *(undefined4 **)(param_1 + 0x44);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if (iVar3 != 0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }\nLAB_00048670:\n  if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }\nLAB_0004887b:\n  local_34 = *param_2;\n  local_30 = param_2[1];\n  switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }\n  if ((local_44 != 0xc) && (local_44 != 0x11)) {\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }\nLAB_00047f87:\n                    \n  switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }\nLAB_000481c0:\n  if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }\nLAB_000481f6:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (expression_statement "iVar3 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 - 0xe8U < 2) {\n    return;\n  }" if (parenthesized_expression "(iVar3 - 0xe8U < 2)" ( (binary_expression "iVar3 - 0xe8U < 2" (binary_expression "iVar3 - 0xe8U" identifier - number_literal) < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {\n    *param_1 = *param_1 | 0x20;\n  }" if (parenthesized_expression "((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0))" ( (binary_expression "(*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)" (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" ( (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*param_1 & 1) == 0)" ( (binary_expression "(*param_1 & 1) == 0" (parenthesized_expression "(*param_1 & 1)" ( (binary_expression "*param_1 & 1" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    *param_1 = *param_1 | 0x20;\n  }" { (expression_statement "*param_1 = *param_1 | 0x20;" (assignment_expression "*param_1 = *param_1 | 0x20" (pointer_expression "*param_1" * identifier) = (binary_expression "*param_1 | 0x20" (pointer_expression "*param_1" * identifier) | number_literal)) ;) })) (expression_statement "puVar1 = *(undefined4 **)(param_1 + 0x44);" (assignment_expression "puVar1 = *(undefined4 **)(param_1 + 0x44)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x44)" * (cast_expression "(undefined4 **)(param_1 + 0x44)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) ;) (if_statement "if (puVar1 == (undefined4 *)0x0) {\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }" { (expression_statement "uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);" (assignment_expression "uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5)" identifier = (call_expression "dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5)" identifier (argument_list "(0,"no hppa_fixup entry for fixup type 0x%x",5)" ( number_literal , (string_literal ""no hppa_fixup entry for fixup type 0x%x"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);" (call_expression "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);" (assignment_expression "iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" identifier = (binary_expression "*(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" (binary_expression "*(int *)(param_1 + 4) + 0x4c" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) + number_literal) + (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))))) ;) (if_statement "if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }" if (parenthesized_expression "((param_1[2] != 4) || (puVar1[2] == 0x20))" ( (binary_expression "(param_1[2] != 4) || (puVar1[2] == 0x20)" (parenthesized_expression "(param_1[2] != 4)" ( (binary_expression "param_1[2] != 4" (subscript_expression "param_1[2]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(puVar1[2] == 0x20)" ( (binary_expression "puVar1[2] == 0x20" (subscript_expression "puVar1[2]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }" { (expression_statement "FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);" (call_expression "FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2])" identifier (argument_list "(iVar3,*param_2,param_2[1],param_1[2])" ( identifier , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[1]" identifier [ number_literal ]) , (subscript_expression "param_1[2]" identifier [ number_literal ]) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);" (assignment_expression "uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3)" identifier = (call_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))" ( (pointer_expression "**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28)" * (pointer_expression "*(code **)(*(int *)(DAT_00088f24 + 4) + 0x28)" * (cast_expression "(code **)(*(int *)(DAT_00088f24 + 4) + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00088f24 + 4) + 0x28)" ( (binary_expression "*(int *)(DAT_00088f24 + 4) + 0x28" (pointer_expression "*(int *)(DAT_00088f24 + 4)" * (cast_expression "(int *)(DAT_00088f24 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088f24 + 4)" ( (binary_expression "DAT_00088f24 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) (switch_statement "switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }" switch (parenthesized_expression "(uVar2 >> 0x1a)" ( (binary_expression "uVar2 >> 0x1a" identifier >> number_literal) )) (compound_statement "{\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }" { (case_statement "case 8:" case number_literal :) (case_statement "case 10:\n    local_44 = 0x15;\n    break;" case number_literal : (expression_statement "local_44 = 0x15;" (assignment_expression "local_44 = 0x15" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n    local_44 = 0x20;\n    goto LAB_00048066;" default : (expression_statement "local_44 = 0x20;" (assignment_expression "local_44 = 0x20" identifier = number_literal) ;) (goto_statement "goto LAB_00048066;" goto statement_identifier ;)) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x11:" case number_literal :) (case_statement "case 0x12:" case number_literal :) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x18:" case number_literal :) (case_statement "case 0x19:" case number_literal :) (case_statement "case 0x1a:" case number_literal :) (case_statement "case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;" case number_literal : (expression_statement "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;" (assignment_expression "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10" identifier = (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe)" ( (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" - (call_expression "(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" ( (binary_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (binary_expression "*(int *)(DAT_00088f24 + 0x84) + 0x10" (pointer_expression "*(int *)(DAT_00088f24 + 0x84)" * (cast_expression "(int *)(DAT_00088f24 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088f24 + 0x84)" ( (binary_expression "DAT_00088f24 + 0x84" identifier + number_literal) )))) + number_literal) )))) < number_literal) )))) & number_literal) )) + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;" case number_literal : (if_statement "if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }" if (parenthesized_expression "(0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10))" ( (binary_expression "0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" number_literal < (pointer_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (binary_expression "*(int *)(DAT_00088f24 + 0x84) + 0x10" (pointer_expression "*(int *)(DAT_00088f24 + 0x84)" * (cast_expression "(int *)(DAT_00088f24 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088f24 + 0x84)" ( (binary_expression "DAT_00088f24 + 0x84" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }" { (expression_statement "local_44 = 0xfffffff6;" (assignment_expression "local_44 = 0xfffffff6" identifier = number_literal) ;) (goto_statement "goto LAB_00048066;" goto statement_identifier ;) })) (expression_statement "local_44 = 10;" (assignment_expression "local_44 = 10" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x1e:" case number_literal :) (case_statement "case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;" case number_literal : (expression_statement "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;" (assignment_expression "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10" identifier = (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5)" ( (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" - (call_expression "(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" ( (binary_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00088f24 + 0x84) + 0x10)" ( (binary_expression "*(int *)(DAT_00088f24 + 0x84) + 0x10" (pointer_expression "*(int *)(DAT_00088f24 + 0x84)" * (cast_expression "(int *)(DAT_00088f24 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088f24 + 0x84)" ( (binary_expression "DAT_00088f24 + 0x84" identifier + number_literal) )))) + number_literal) )))) < number_literal) )))) & number_literal) )) - number_literal)) ;) (labeled_statement "LAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);" statement_identifier : (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;)) (if_statement "if (iVar3 == 0) goto LAB_00048670;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00048670;" goto statement_identifier ;)) (goto_statement "goto LAB_00048071;" goto statement_identifier ;)) (case_statement "case 0x20:" case number_literal :) (case_statement "case 0x21:" case number_literal :) (case_statement "case 0x22:" case number_literal :) (case_statement "case 0x23:" case number_literal :) (case_statement "case 0x27:" case number_literal :) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x29:" case number_literal :) (case_statement "case 0x2a:" case number_literal :) (case_statement "case 0x2b:" case number_literal :) (case_statement "case 0x2f:" case number_literal :) (case_statement "case 0x30:" case number_literal :) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x3b:\n    local_44 = 0xc;\n    break;" case number_literal : (expression_statement "local_44 = 0xc;" (assignment_expression "local_44 = 0xc" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x24:" case number_literal :) (case_statement "case 0x25:" case number_literal :) (case_statement "case 0x2c:" case number_literal :) (case_statement "case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;" case number_literal : (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_44 = 0xb;" (assignment_expression "local_44 = 0xb" identifier = number_literal) ;) (if_statement "if (iVar3 != 0) goto LAB_00048253;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00048253;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;" statement_identifier : (if_statement "if (iVar6 == 0) goto LAB_00048253;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00048253;" goto statement_identifier ;))) (goto_statement "goto LAB_0004887b;" goto statement_identifier ;)) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;" case number_literal : (expression_statement "local_44 = 0x11;" (assignment_expression "local_44 = 0x11" identifier = number_literal) ;) (labeled_statement "code_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);" statement_identifier : (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;)) (if_statement "if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }" { (expression_statement "iVar6 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x00048a45;" goto statement_identifier ;) })) (if_statement "if (local_44 == 0x11) goto LAB_00047f6e;" if (parenthesized_expression "(local_44 == 0x11)" ( (binary_expression "local_44 == 0x11" identifier == number_literal) )) (goto_statement "goto LAB_00047f6e;" goto statement_identifier ;)) (if_statement "if (local_44 != 0x16) goto code_r0x00047ff3;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto code_r0x00047ff3;" goto statement_identifier ;)) (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;) (goto_statement "goto code_r0x00048094;" goto statement_identifier ;)) (case_statement "case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;" case number_literal : (if_statement "if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }" if (parenthesized_expression "((uVar2 & 0x8000) != 0)" ( (binary_expression "(uVar2 & 0x8000) != 0" (parenthesized_expression "(uVar2 & 0x8000)" ( (binary_expression "uVar2 & 0x8000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }" { (expression_statement "local_44 = 0x16;" (assignment_expression "local_44 = 0x16" identifier = number_literal) ;) (goto_statement "goto code_r0x00047f58;" goto statement_identifier ;) })) (expression_statement "local_44 = 0x11;" (assignment_expression "local_44 = 0x11" identifier = number_literal) ;)) })) (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 != 0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }" { (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;" if (parenthesized_expression "((0x421000U >> (local_44 & 0x1f) & 1) == 0)" ( (binary_expression "(0x421000U >> (local_44 & 0x1f) & 1) == 0" (parenthesized_expression "(0x421000U >> (local_44 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (local_44 & 0x1f) & 1" (binary_expression "0x421000U >> (local_44 & 0x1f)" number_literal >> (parenthesized_expression "(local_44 & 0x1f)" ( (binary_expression "local_44 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (labeled_statement "LAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }" statement_identifier : (if_statement "if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }" if (parenthesized_expression "((local_44 != 0x11) && (local_44 != 0xc))" ( (binary_expression "(local_44 != 0x11) && (local_44 != 0xc)" (parenthesized_expression "(local_44 != 0x11)" ( (binary_expression "local_44 != 0x11" identifier != number_literal) )) && (parenthesized_expression "(local_44 != 0xc)" ( (binary_expression "local_44 != 0xc" identifier != number_literal) ))) )) (compound_statement "{\n      local_34 = 8;\n      goto LAB_00048081;\n    }" { (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_00048081;" goto statement_identifier ;) }))) (if_statement "if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }" { (labeled_statement "code_r0x00047ff3:\n      local_34 = 8;" statement_identifier : (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;)) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;) })) (labeled_statement "LAB_00047f6e:\n    local_34 = 8;" statement_identifier : (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" identifier = number_literal) ;)) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if ((*param_1 & 1) == 0) goto LAB_00047f87;" if (parenthesized_expression "((*param_1 & 1) == 0)" ( (binary_expression "(*param_1 & 1) == 0" (parenthesized_expression "(*param_1 & 1)" ( (binary_expression "*param_1 & 1" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "iVar6 = local_28 + (0xffffe007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xffffe007 < local_2c)" identifier = (binary_expression "local_28 + (0xffffe007 < local_2c)" identifier + (parenthesized_expression "(0xffffe007 < local_2c)" ( (binary_expression "0xffffe007 < local_2c" number_literal < identifier) )))) ;) (if_statement "if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;" if (parenthesized_expression "(iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (call_expression "(uint)(0x3fff < local_2c + 0x1ff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_2c + 0x1ff8)" ( (binary_expression "0x3fff < local_2c + 0x1ff8" number_literal < (binary_expression "local_2c + 0x1ff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (goto_statement "goto LAB_000489d0;" goto statement_identifier ;)) (if_statement "if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }" if (parenthesized_expression "(local_44 != 0x11)" ( (binary_expression "local_44 != 0x11" identifier != number_literal) )) (compound_statement "{\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }" { (if_statement "if (local_44 != 0x16) goto LAB_00047f87;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (goto_statement "goto LAB_000480dd;" goto statement_identifier ;) })) (expression_statement "iVar6 = local_28 + (0xfffc0007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xfffc0007 < local_2c)" identifier = (binary_expression "local_28 + (0xfffc0007 < local_2c)" identifier + (parenthesized_expression "(0xfffc0007 < local_2c)" ( (binary_expression "0xfffc0007 < local_2c" number_literal < identifier) )))) ;) (if_statement "if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }" if (parenthesized_expression "(iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6" (call_expression "(uint)(0x7ffff < local_2c + 0x3fff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7ffff < local_2c + 0x3fff8)" ( (binary_expression "0x7ffff < local_2c + 0x3fff8" number_literal < (binary_expression "local_2c + 0x3fff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }" { (expression_statement "iVar3 = FUN_0003aef0(iVar3);" (assignment_expression "iVar3 = FUN_0003aef0(iVar3)" identifier = (call_expression "FUN_0003aef0(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;" if (parenthesized_expression "((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))" ( (binary_expression "(iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0)" ( (comma_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0" (assignment_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0004872d;" goto statement_identifier ;)) (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) })) (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }" if (parenthesized_expression "(((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)))" ( (binary_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))" (parenthesized_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" ( (binary_expression "(uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar4 == 10)" ( (binary_expression "uVar4 == 10" identifier == number_literal) )) && (parenthesized_expression "((uVar2 & 0xffe00000) == 0xe8000000)" ( (binary_expression "(uVar2 & 0xffe00000) == 0xe8000000" (parenthesized_expression "(uVar2 & 0xffe00000)" ( (binary_expression "uVar2 & 0xffe00000" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))" ( (comma_expression "iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)" (assignment_expression "iVar3 = local_28 + (0xfffc0007 < local_2c)" identifier = (binary_expression "local_28 + (0xfffc0007 < local_2c)" identifier + (parenthesized_expression "(0xfffc0007 < local_2c)" ( (binary_expression "0xfffc0007 < local_2c" number_literal < identifier) )))) , (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)" (binary_expression "iVar3 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x7ffff < local_2c + 0x3fff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7ffff < local_2c + 0x3fff8)" ( (binary_expression "0x7ffff < local_2c + 0x3fff8" number_literal < (binary_expression "local_2c + 0x3fff8" identifier + number_literal)) )))))) ))) )) (compound_statement "{\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }" { (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal )))) ;) (expression_statement "uVar8 = 0x3ffff;" (assignment_expression "uVar8 = 0x3ffff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xfffc0000;" (assignment_expression "uVar7 = 0xfffc0000" identifier = number_literal) ;) (expression_statement "uVar2 = local_2c - 8;" (assignment_expression "uVar2 = local_2c - 8" identifier = (binary_expression "local_2c - 8" identifier - number_literal)) ;) (goto_statement "goto LAB_00048a23;" goto statement_identifier ;) })) (goto_statement "goto LAB_000481c0;" goto statement_identifier ;) })) (labeled_statement "LAB_00048670:\n  if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }" statement_identifier : (if_statement "if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x30) == 0)" ( (binary_expression "*(int *)(param_1 + 0x30) == 0" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (if_statement "if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }" if (parenthesized_expression "(local_44 < 0x17)" ( (binary_expression "local_44 < 0x17" identifier < number_literal) )) (compound_statement "{\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }" { (labeled_statement "LAB_00048253:\n      local_34 = 0;" statement_identifier : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;)) (if_statement "if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;" if (parenthesized_expression "((0x421000U >> (local_44 & 0x1f) & 1) != 0)" ( (binary_expression "(0x421000U >> (local_44 & 0x1f) & 1) != 0" (parenthesized_expression "(0x421000U >> (local_44 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (local_44 & 0x1f) & 1" (binary_expression "0x421000U >> (local_44 & 0x1f)" number_literal >> (parenthesized_expression "(local_44 & 0x1f)" ( (binary_expression "local_44 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00047fd9;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00048071:\n      local_34 = 0;\n    }" else (compound_statement "{\nLAB_00048071:\n      local_34 = 0;\n    }" { (labeled_statement "LAB_00048071:\n      local_34 = 0;" statement_identifier : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;)) }))) (labeled_statement "LAB_00048081:\n    local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (if_statement "if (local_44 != 0x16) goto LAB_00047f87;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (if_statement "if (iVar3 == 0) goto LAB_0004811d;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004811d;" goto statement_identifier ;)) (labeled_statement "code_r0x00048094:\n    local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (if_statement "if ((*param_1 & 1) == 0) goto LAB_0004811d;" if (parenthesized_expression "((*param_1 & 1) == 0)" ( (binary_expression "(*param_1 & 1) == 0" (parenthesized_expression "(*param_1 & 1)" ( (binary_expression "*param_1 & 1" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004811d;" goto statement_identifier ;)) (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "iVar6 = local_28 + (0xffffe007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xffffe007 < local_2c)" identifier = (binary_expression "local_28 + (0xffffe007 < local_2c)" identifier + (parenthesized_expression "(0xffffe007 < local_2c)" ( (binary_expression "0xffffe007 < local_2c" number_literal < identifier) )))) ;) (expression_statement "local_44 = 0x16;" (assignment_expression "local_44 = 0x16" identifier = number_literal) ;) (if_statement "if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }" if (parenthesized_expression "(iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (call_expression "(uint)(0x3fff < local_2c + 0x1ff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_2c + 0x1ff8)" ( (binary_expression "0x3fff < local_2c + 0x1ff8" number_literal < (binary_expression "local_2c + 0x1ff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }" { (labeled_statement "LAB_000489d0:\n      local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (expression_statement "iVar3 = FUN_0003aef0(iVar3);" (assignment_expression "iVar3 = FUN_0003aef0(iVar3)" identifier = (call_expression "FUN_0003aef0(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (labeled_statement "LAB_0004872d:\n      local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (expression_statement "iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));" (assignment_expression "iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) )))) ;) (if_statement "if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }" if (parenthesized_expression "((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))))" ( (binary_expression "(iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))" (parenthesized_expression "(iVar3 == puVar1[4])" ( (binary_expression "iVar3 == puVar1[4]" identifier == (subscript_expression "puVar1[4]" identifier [ number_literal ])) )) && (parenthesized_expression "((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))" ( (parenthesized_expression "(*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))" ( (binary_expression "*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])" (binary_expression "*(int *)(param_1 + 0x10) == 0" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "(iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])" ( (comma_expression "iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]" (assignment_expression "iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10))" identifier = (call_expression "FUN_0003b4a0(*(int *)(param_1 + 0x10))" identifier (argument_list "(*(int *)(param_1 + 0x10))" ( (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) )))) , (binary_expression "iVar3 == puVar1[4]" identifier == (subscript_expression "puVar1[4]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }" { (expression_statement "local_34 = *param_2;" (assignment_expression "local_34 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "local_30 = param_2[1];" (assignment_expression "local_30 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (switch_statement "switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }" switch (parenthesized_expression "(*puVar1)" ( (pointer_expression "*puVar1" * identifier) )) (compound_statement "{\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }" { (case_statement "case 0:\n          break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;" case number_literal : (expression_statement "iVar3 = local_30 + (0xfffffbff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffffbff < local_34)" identifier = (binary_expression "local_30 + (0xfffffbff < local_34)" identifier + (parenthesized_expression "(0xfffffbff < local_34)" ( (binary_expression "0xfffffbff < local_34" number_literal < identifier) )))) ;) (expression_statement "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000" identifier = (binary_expression "local_34 + 0x400 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x400 >> 0xb" (binary_expression "local_34 + 0x400" identifier + number_literal) >> number_literal) | (binary_expression "iVar3 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" identifier = (binary_expression "iVar3 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;" case number_literal : (expression_statement "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);" (assignment_expression "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400)" identifier = (call_expression "(uint)((ushort)local_34 & 0x7ff ^ 0x400)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ushort)local_34 & 0x7ff ^ 0x400)" ( (binary_expression "(ushort)local_34 & 0x7ff ^ 0x400" (binary_expression "(ushort)local_34 & 0x7ff" (cast_expression "(ushort)local_34" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) ^ number_literal) )))) ;) (expression_statement "local_34 = uVar4 - 0x400;" (assignment_expression "local_34 = uVar4 - 0x400" identifier = (binary_expression "uVar4 - 0x400" identifier - number_literal)) ;) (expression_statement "local_30 = (0x3ff < uVar4) - 1;" (assignment_expression "local_30 = (0x3ff < uVar4) - 1" identifier = (binary_expression "(0x3ff < uVar4) - 1" (parenthesized_expression "(0x3ff < uVar4)" ( (binary_expression "0x3ff < uVar4" number_literal < identifier) )) - number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 3:" case number_literal :) (case_statement "case 7:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;" case number_literal : (expression_statement "local_34 = local_34 >> 0xb | local_30 << 0x15;" (assignment_expression "local_34 = local_34 >> 0xb | local_30 << 0x15" identifier = (binary_expression "local_34 >> 0xb | local_30 << 0x15" (binary_expression "local_34 >> 0xb" identifier >> number_literal) | (binary_expression "local_30 << 0x15" identifier << number_literal))) ;) (expression_statement "local_30 = (int)local_30 >> 0xb;" (assignment_expression "local_30 = (int)local_30 >> 0xb" identifier = (binary_expression "(int)local_30 >> 0xb" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;" case number_literal : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;" case number_literal : (expression_statement "iVar3 = local_30 + (0xfffff7ff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffff7ff < local_34)" identifier = (binary_expression "local_30 + (0xfffff7ff < local_34)" identifier + (parenthesized_expression "(0xfffff7ff < local_34)" ( (binary_expression "0xfffff7ff < local_34" number_literal < identifier) )))) ;) (expression_statement "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000" identifier = (binary_expression "local_34 + 0x800 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x800 >> 0xb" (binary_expression "local_34 + 0x800" identifier + number_literal) >> number_literal) | (binary_expression "iVar3 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" identifier = (binary_expression "iVar3 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;" case number_literal : (expression_statement "local_30 = 0xffffffff;" (assignment_expression "local_30 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = local_34 | 0xfffff800;" (assignment_expression "local_34 = local_34 | 0xfffff800" identifier = (binary_expression "local_34 | 0xfffff800" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;" case number_literal : (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;" case number_literal : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);" default : (labeled_statement "LAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);" statement_identifier : (expression_statement "FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);" (call_expression "FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1)" identifier (argument_list "("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1)" ( (string_literal ""../../gas/../bfd/libhppa.h"" " string_content ") , number_literal , (string_literal ""hppa_field_adjust"" " string_content ") , identifier ))) ;))) })) })) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;) })) (labeled_statement "LAB_000480dd:\n    local_30 = 0;" statement_identifier : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;)) (expression_statement "iVar6 = local_28 + (0xff800007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xff800007 < local_2c)" identifier = (binary_expression "local_28 + (0xff800007 < local_2c)" identifier + (parenthesized_expression "(0xff800007 < local_2c)" ( (binary_expression "0xff800007 < local_2c" number_literal < identifier) )))) ;) (if_statement "if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }" if (parenthesized_expression "(iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6)" ( (binary_expression "iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" identifier == number_literal) && (binary_expression "(uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6" (call_expression "(uint)(0xffffff < local_2c + 0x7ffff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffff < local_2c + 0x7ffff8)" ( (binary_expression "0xffffff < local_2c + 0x7ffff8" number_literal < (binary_expression "local_2c + 0x7ffff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }" { (expression_statement "iVar3 = FUN_0003aef0(iVar3);" (assignment_expression "iVar3 = FUN_0003aef0(iVar3)" identifier = (call_expression "FUN_0003aef0(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0004811d;" goto statement_identifier ;)) (goto_statement "goto LAB_0004872d;" goto statement_identifier ;) })) (labeled_statement "LAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);" statement_identifier : (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;)) (if_statement "if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }" if (parenthesized_expression "(((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)))" ( (binary_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))" (parenthesized_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" ( (binary_expression "(uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar4 == 10)" ( (binary_expression "uVar4 == 10" identifier == number_literal) )) && (parenthesized_expression "((uVar2 & 0xffe00000) == 0xe8000000)" ( (binary_expression "(uVar2 & 0xffe00000) == 0xe8000000" (parenthesized_expression "(uVar2 & 0xffe00000)" ( (binary_expression "uVar2 & 0xffe00000" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))" ( (comma_expression "iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)" (assignment_expression "iVar3 = local_28 + (0xff800007 < local_2c)" identifier = (binary_expression "local_28 + (0xff800007 < local_2c)" identifier + (parenthesized_expression "(0xff800007 < local_2c)" ( (binary_expression "0xff800007 < local_2c" number_literal < identifier) )))) , (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)" (binary_expression "iVar3 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0xffffff < local_2c + 0x7ffff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffff < local_2c + 0x7ffff8)" ( (binary_expression "0xffffff < local_2c + 0x7ffff8" number_literal < (binary_expression "local_2c + 0x7ffff8" identifier + number_literal)) )))))) ))) )) (compound_statement "{\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }" { (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal )))) ;) (expression_statement "uVar8 = 0x7fffff;" (assignment_expression "uVar8 = 0x7fffff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xff800000;" (assignment_expression "uVar7 = 0xff800000" identifier = number_literal) ;) (expression_statement "uVar2 = local_2c - 8;" (assignment_expression "uVar2 = local_2c - 8" identifier = (binary_expression "local_2c - 8" identifier - number_literal)) ;) }) (else_clause "else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }" else (compound_statement "{\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }" { (expression_statement "iVar3 = local_30 + (0xff800007 < local_34);" (assignment_expression "iVar3 = local_30 + (0xff800007 < local_34)" identifier = (binary_expression "local_30 + (0xff800007 < local_34)" identifier + (parenthesized_expression "(0xff800007 < local_34)" ( (binary_expression "0xff800007 < local_34" number_literal < identifier) )))) ;) (if_statement "if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;" if (parenthesized_expression "(iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3)" ( (binary_expression "iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3" (call_expression "(uint)(0xffffff < local_34 + 0x7ffff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffff < local_34 + 0x7ffff8)" ( (binary_expression "0xffffff < local_34 + 0x7ffff8" number_literal < (binary_expression "local_34 + 0x7ffff8" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (goto_statement "goto LAB_000481c0;" goto statement_identifier ;)) (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal )))) ;) (expression_statement "uVar8 = 0x7fffff;" (assignment_expression "uVar8 = 0x7fffff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xff800000;" (assignment_expression "uVar7 = 0xff800000" identifier = number_literal) ;) (expression_statement "uVar2 = local_34 - 8;" (assignment_expression "uVar2 = local_34 - 8" identifier = (binary_expression "local_34 - 8" identifier - number_literal)) ;) }))) (labeled_statement "LAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);" statement_identifier : (expression_statement "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);" (call_expression "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier , identifier , identifier , identifier ))) ;)) (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000481c0;" goto statement_identifier ;) }))) (labeled_statement "LAB_0004887b:\n  local_34 = *param_2;" statement_identifier : (expression_statement "local_34 = *param_2;" (assignment_expression "local_34 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;)) (expression_statement "local_30 = param_2[1];" (assignment_expression "local_30 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (switch_statement "switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }" switch (parenthesized_expression "(*puVar1)" ( (pointer_expression "*puVar1" * identifier) )) (compound_statement "{\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }" { (case_statement "case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;" case number_literal : (if_statement "if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;" if (parenthesized_expression "((local_44 == 0x11) || (local_44 == 0xc))" ( (binary_expression "(local_44 == 0x11) || (local_44 == 0xc)" (parenthesized_expression "(local_44 == 0x11)" ( (binary_expression "local_44 == 0x11" identifier == number_literal) )) || (parenthesized_expression "(local_44 == 0xc)" ( (binary_expression "local_44 == 0xc" identifier == number_literal) ))) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;)) (goto_statement "goto code_r0x000488ce;" goto statement_identifier ;)) (case_statement "case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;" case number_literal : (expression_statement "iVar3 = local_30 + (0xfffffbff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffffbff < local_34)" identifier = (binary_expression "local_30 + (0xfffffbff < local_34)" identifier + (parenthesized_expression "(0xfffffbff < local_34)" ( (binary_expression "0xfffffbff < local_34" number_literal < identifier) )))) ;) (expression_statement "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000" identifier = (binary_expression "local_34 + 0x400 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x400 >> 0xb" (binary_expression "local_34 + 0x400" identifier + number_literal) >> number_literal) | (binary_expression "iVar3 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" identifier = (binary_expression "iVar3 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;" case number_literal : (expression_statement "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);" (assignment_expression "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400)" identifier = (call_expression "(uint)((ushort)local_34 & 0x7ff ^ 0x400)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ushort)local_34 & 0x7ff ^ 0x400)" ( (binary_expression "(ushort)local_34 & 0x7ff ^ 0x400" (binary_expression "(ushort)local_34 & 0x7ff" (cast_expression "(ushort)local_34" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) ^ number_literal) )))) ;) (expression_statement "local_34 = uVar4 - 0x400;" (assignment_expression "local_34 = uVar4 - 0x400" identifier = (binary_expression "uVar4 - 0x400" identifier - number_literal)) ;) (expression_statement "local_30 = (0x3ff < uVar4) - 1;" (assignment_expression "local_30 = (0x3ff < uVar4) - 1" identifier = (binary_expression "(0x3ff < uVar4) - 1" (parenthesized_expression "(0x3ff < uVar4)" ( (binary_expression "0x3ff < uVar4" number_literal < identifier) )) - number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 3:" case number_literal :) (case_statement "case 7:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;" case number_literal : (expression_statement "local_34 = local_34 >> 0xb | local_30 << 0x15;" (assignment_expression "local_34 = local_34 >> 0xb | local_30 << 0x15" identifier = (binary_expression "local_34 >> 0xb | local_30 << 0x15" (binary_expression "local_34 >> 0xb" identifier >> number_literal) | (binary_expression "local_30 << 0x15" identifier << number_literal))) ;) (expression_statement "local_30 = (int)local_30 >> 0xb;" (assignment_expression "local_30 = (int)local_30 >> 0xb" identifier = (binary_expression "(int)local_30 >> 0xb" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;" case number_literal : (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;" case number_literal : (expression_statement "iVar3 = local_30 + (0xfffff7ff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffff7ff < local_34)" identifier = (binary_expression "local_30 + (0xfffff7ff < local_34)" identifier + (parenthesized_expression "(0xfffff7ff < local_34)" ( (binary_expression "0xfffff7ff < local_34" number_literal < identifier) )))) ;) (expression_statement "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000" identifier = (binary_expression "local_34 + 0x800 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x800 >> 0xb" (binary_expression "local_34 + 0x800" identifier + number_literal) >> number_literal) | (binary_expression "iVar3 * 0x200000" identifier * number_literal))) ;) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" identifier = (binary_expression "iVar3 >> 0xb" identifier >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;" case number_literal : (expression_statement "local_30 = 0xffffffff;" (assignment_expression "local_30 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_34 = local_34 | 0xfffff800;" (assignment_expression "local_34 = local_34 | 0xfffff800" identifier = (binary_expression "local_34 | 0xfffff800" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;" case number_literal : (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" identifier = (binary_expression "local_34 & 0x7ff" identifier & number_literal)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;" case number_literal : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n    goto LAB_00048c4c;" default : (goto_statement "goto LAB_00048c4c;" goto statement_identifier ;)) })) (if_statement "if ((local_44 != 0xc) && (local_44 != 0x11)) {\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }" if (parenthesized_expression "((local_44 != 0xc) && (local_44 != 0x11))" ( (binary_expression "(local_44 != 0xc) && (local_44 != 0x11)" (parenthesized_expression "(local_44 != 0xc)" ( (binary_expression "local_44 != 0xc" identifier != number_literal) )) && (parenthesized_expression "(local_44 != 0x11)" ( (binary_expression "local_44 != 0x11" identifier != number_literal) ))) )) (compound_statement "{\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }" { (labeled_statement "code_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;" statement_identifier : (if_statement "if (local_44 != 0x16) goto LAB_00047f87;" if (parenthesized_expression "(local_44 != 0x16)" ( (binary_expression "local_44 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_00047f87;" goto statement_identifier ;))) (labeled_statement "LAB_0004811d:\n    local_28 = param_2[1];" statement_identifier : (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;)) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (goto_statement "goto LAB_0004812d;" goto statement_identifier ;) })) (labeled_statement "LAB_00047f87:\n                    \n  switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }" statement_identifier : (switch_statement "switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }" switch (parenthesized_expression "(local_44)" ( identifier )) (compound_statement "{\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }" { (case_statement "case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" case number_literal : (expression_statement "iVar3 = local_30 + (0xffffdfff < local_34);" (assignment_expression "iVar3 = local_30 + (0xffffdfff < local_34)" identifier = (binary_expression "local_30 + (0xffffdfff < local_34)" identifier + (parenthesized_expression "(0xffffdfff < local_34)" ( (binary_expression "0xffffdfff < local_34" number_literal < identifier) )))) ;) (if_statement "if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;" if (parenthesized_expression "(iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000))" ( (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)" (binary_expression "iVar3 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3fff < local_34 + 0x2000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_34 + 0x2000)" ( (binary_expression "0x3fff < local_34 + 0x2000" number_literal < (binary_expression "local_34 + 0x2000" identifier + number_literal)) ))))) )) (goto_statement "goto code_r0x00048a00;" goto statement_identifier ;)) (labeled_statement "code_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);" statement_identifier : (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;)) (break_statement "break;" break ;)) (case_statement "case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" case number_literal : (expression_statement "uVar2 = local_34 - 8;" (assignment_expression "uVar2 = local_34 - 8" identifier = (binary_expression "local_34 - 8" identifier - number_literal)) ;) (expression_statement "iVar3 = local_30 + (0xffffe007 < local_34);" (assignment_expression "iVar3 = local_30 + (0xffffe007 < local_34)" identifier = (binary_expression "local_30 + (0xffffe007 < local_34)" identifier + (parenthesized_expression "(0xffffe007 < local_34)" ( (binary_expression "0xffffe007 < local_34" number_literal < identifier) )))) ;) (if_statement "if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }" if (parenthesized_expression "(iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8))" ( (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)" (binary_expression "iVar3 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3fff < local_34 + 0x1ff8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_34 + 0x1ff8)" ( (binary_expression "0x3fff < local_34 + 0x1ff8" number_literal < (binary_expression "local_34 + 0x1ff8" identifier + number_literal)) ))))) )) (compound_statement "{\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }" { (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal )))) ;) (expression_statement "uVar8 = 0x1fff;" (assignment_expression "uVar8 = 0x1fff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xffffe000;" (assignment_expression "uVar7 = 0xffffe000" identifier = number_literal) ;) (goto_statement "goto LAB_00048a23;" goto statement_identifier ;) })) (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;" case number_literal : (expression_statement "iVar3 = local_30 + (0xffffdfff < local_34);" (assignment_expression "iVar3 = local_30 + (0xffffdfff < local_34)" identifier = (binary_expression "local_30 + (0xffffdfff < local_34)" identifier + (parenthesized_expression "(0xffffdfff < local_34)" ( (binary_expression "0xffffdfff < local_34" number_literal < identifier) )))) ;) (if_statement "if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;" if (parenthesized_expression "(iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3)" ( (binary_expression "iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3" (binary_expression "iVar3 == 0" identifier == number_literal) && (binary_expression "(uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3" (call_expression "(uint)(0x3fff < local_34 + 0x2000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3fff < local_34 + 0x2000)" ( (binary_expression "0x3fff < local_34 + 0x2000" number_literal < (binary_expression "local_34 + 0x2000" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (goto_statement "goto code_r0x000483f8;" goto statement_identifier ;)) (labeled_statement "code_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" statement_identifier : (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier = (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" identifier (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" ( number_literal , (string_literal ""Field out of range [%d..%d] (%d)."" " string_content ") , number_literal )))) ;)) (expression_statement "uVar8 = 0x1fff;" (assignment_expression "uVar8 = 0x1fff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xffffe000;" (assignment_expression "uVar7 = 0xffffe000" identifier = number_literal) ;) (expression_statement "uVar2 = local_34;" (assignment_expression "uVar2 = local_34" identifier = identifier) ;) (goto_statement "goto LAB_00048a23;" goto statement_identifier ;)) (case_statement "case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" case number_literal : (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\n    goto LAB_0004811d;" case number_literal : (goto_statement "goto LAB_0004811d;" goto statement_identifier ;)) (case_statement "case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" case number_literal : (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xfffffff0:\n    goto code_r0x00048512;" case number_literal : (goto_statement "goto code_r0x00048512;" goto statement_identifier ;)) (case_statement "default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;" default : (expression_statement "uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);" (assignment_expression "uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5)" identifier = (call_expression "dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5)" identifier (argument_list "(0,"Unknown relocation encountered in md_apply_fix.",5)" ( number_literal , (string_literal ""Unknown relocation encountered in md_apply_fix."" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);" (call_expression "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier ))) ;) (return_statement "return;" return ;)) (case_statement "case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);" case number_literal : (labeled_statement "code_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);" statement_identifier : (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;))) }))) (labeled_statement "LAB_000481c0:\n  if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }" statement_identifier : (if_statement "if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }" if (parenthesized_expression "(uVar4 != 0xa6)" ( (binary_expression "uVar4 != 0xa6" identifier != number_literal) )) (compound_statement "{\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }" { (if_statement "if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;" if (parenthesized_expression "(uVar4 < 0xa7)" ( (binary_expression "uVar4 < 0xa7" identifier < number_literal) )) (compound_statement "{\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }" { (if_statement "if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;" if (parenthesized_expression "((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a))))" ( (binary_expression "(uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))" (parenthesized_expression "(uVar4 != 0x9e)" ( (binary_expression "uVar4 != 0x9e" identifier != number_literal) )) && (parenthesized_expression "((uVar4 != 0xa2 && (uVar4 != 0x9a)))" ( (parenthesized_expression "(uVar4 != 0xa2 && (uVar4 != 0x9a))" ( (binary_expression "uVar4 != 0xa2 && (uVar4 != 0x9a)" (binary_expression "uVar4 != 0xa2" identifier != number_literal) && (parenthesized_expression "(uVar4 != 0x9a)" ( (binary_expression "uVar4 != 0x9a" identifier != number_literal) ))) )) ))) )) (goto_statement "goto LAB_000481f6;" goto statement_identifier ;)) }) (else_clause "else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;" else (if_statement "if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;" if (parenthesized_expression "((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed))))" ( (binary_expression "(uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))" (parenthesized_expression "(uVar4 < 0xea)" ( (binary_expression "uVar4 < 0xea" identifier < number_literal) )) || (parenthesized_expression "((0xeb < uVar4 && (1 < uVar4 - 0xed)))" ( (parenthesized_expression "(0xeb < uVar4 && (1 < uVar4 - 0xed))" ( (binary_expression "0xeb < uVar4 && (1 < uVar4 - 0xed)" (binary_expression "0xeb < uVar4" number_literal < identifier) && (parenthesized_expression "(1 < uVar4 - 0xed)" ( (binary_expression "1 < uVar4 - 0xed" number_literal < (binary_expression "uVar4 - 0xed" identifier - number_literal)) ))) )) ))) )) (goto_statement "goto LAB_000481f6;" goto statement_identifier ;)))) }))) (if_statement "if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0xc) != 0)" ( (binary_expression "*(int *)(param_1 + 0xc) != 0" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }" { (expression_statement "FUN_0003dc90(*(int *)(param_1 + 0xc));" (call_expression "FUN_0003dc90(*(int *)(param_1 + 0xc))" identifier (argument_list "(*(int *)(param_1 + 0xc))" ( (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) ))) ;) })) (labeled_statement "LAB_000481f6:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();" statement_identifier : (expression_statement "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();" (call_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))()" (parenthesized_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))" ( (pointer_expression "**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30)" * (pointer_expression "*(code **)(*(int *)(DAT_00088f24 + 4) + 0x30)" * (cast_expression "(code **)(*(int *)(DAT_00088f24 + 4) + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00088f24 + 4) + 0x30)" ( (binary_expression "*(int *)(DAT_00088f24 + 4) + 0x30" (pointer_expression "*(int *)(DAT_00088f24 + 4)" * (cast_expression "(int *)(DAT_00088f24 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00088f24 + 4)" ( (binary_expression "DAT_00088f24 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (switch_statement switch (parenthesized_expression ( (binary_expression IDENT >> LIT) )) (compound_statement { (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement default : (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < LIT) )))) & LIT) )) + LIT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < LIT) )))) & LIT) )) - LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (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 = LIT) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) , (binary_expression (binary_expression IDENT != LIT) || (binary_expression (binary_expression (parenthesized_expression ( IDENT )) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) )))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) , (binary_expression IDENT == (subscript_expression IDENT [ LIT ]))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (switch_statement switch (parenthesized_expression ( (pointer_expression * IDENT) )) (compound_statement { (case_statement case LIT : (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT + LIT) >> LIT) | (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ^ LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) - LIT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT + LIT) >> LIT) | (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement default : (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;))) })) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) , (binary_expression (binary_expression IDENT != LIT) || (binary_expression (binary_expression (parenthesized_expression ( IDENT )) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) )))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (switch_statement switch (parenthesized_expression ( (pointer_expression * IDENT) )) (compound_statement { (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT + LIT) >> LIT) | (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ^ LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) - LIT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT + LIT) >> LIT) | (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement default : (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (binary_expression (parenthesized_expression ( IDENT )) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) ))))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (binary_expression (parenthesized_expression ( IDENT )) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (break_statement break ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (break_statement break ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement default : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (return_statement return ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < IDENT) && (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)))) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( ))) ;)) (return_statement return ;) })))
(function_definition "void FUN_00047e40(byte *param_1,uint *param_2)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_44;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  \n  iVar3 = *(int *)(param_1 + 0x30);\n  if (iVar3 - 0xe8U < 2) {\n    return;\n  }\n  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {\n    *param_1 = *param_1 | 0x20;\n  }\n  puVar1 = *(undefined4 **)(param_1 + 0x44);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if (iVar3 != 0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }\nLAB_00048670:\n  if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }\nLAB_0004887b:\n  local_34 = *param_2;\n  local_30 = param_2[1];\n  switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }\n  if ((local_44 != 0xc) && (local_44 != 0x11)) {\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }\nLAB_00047f87:\n                    \n  switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }\nLAB_000481c0:\n  if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }\nLAB_000481f6:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00047e40(byte *param_1,uint *param_2)" (identifier "FUN_00047e40") (parameter_list "(byte *param_1,uint *param_2)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uint *param_2" (type_identifier "uint") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_44;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  \n  iVar3 = *(int *)(param_1 + 0x30);\n  if (iVar3 - 0xe8U < 2) {\n    return;\n  }\n  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {\n    *param_1 = *param_1 | 0x20;\n  }\n  puVar1 = *(undefined4 **)(param_1 + 0x44);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if (iVar3 != 0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }\nLAB_00048670:\n  if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }\nLAB_0004887b:\n  local_34 = *param_2;\n  local_30 = param_2[1];\n  switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }\n  if ((local_44 != 0xc) && (local_44 != 0x11)) {\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }\nLAB_00047f87:\n                    \n  switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }\nLAB_000481c0:\n  if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }\nLAB_000481f6:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();\n  return;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "uint local_34;" (type_identifier "uint") (identifier "local_34") (; ";")) (declaration "uint local_30;" (type_identifier "uint") (identifier "local_30") (; ";")) (declaration "uint local_2c;" (type_identifier "uint") (identifier "local_2c") (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (expression_statement "iVar3 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x30)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (iVar3 - 0xe8U < 2) {\n    return;\n  }" (if "if") (parenthesized_expression "(iVar3 - 0xe8U < 2)" (( "(") (binary_expression "iVar3 - 0xe8U < 2" (binary_expression "iVar3 - 0xe8U" (identifier "iVar3") (- "-") (number_literal "0xe8U")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {\n    *param_1 = *param_1 | 0x20;\n  }" (if "if") (parenthesized_expression "((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0))" (( "(") (binary_expression "(*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)" (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*param_1 & 1) == 0)" (( "(") (binary_expression "(*param_1 & 1) == 0" (parenthesized_expression "(*param_1 & 1)" (( "(") (binary_expression "*param_1 & 1" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    *param_1 = *param_1 | 0x20;\n  }" ({ "{") (expression_statement "*param_1 = *param_1 | 0x20;" (assignment_expression "*param_1 = *param_1 | 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (binary_expression "*param_1 | 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (| "|") (number_literal "0x20"))) (; ";")) (} "}"))) (expression_statement "puVar1 = *(undefined4 **)(param_1 + 0x44);" (assignment_expression "puVar1 = *(undefined4 **)(param_1 + 0x44)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x44)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x44)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (if_statement "if (puVar1 == (undefined4 *)0x0) {\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }" (if "if") (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar1 == (undefined4 *)0x0" (identifier "puVar1") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);\n    return;\n  }" ({ "{") (expression_statement "uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);" (assignment_expression "uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5)" (identifier "dcgettext") (argument_list "(0,"no hppa_fixup entry for fixup type 0x%x",5)" (( "(") (number_literal "0") (, ",") (string_literal ""no hppa_fixup entry for fixup type 0x%x"" (" """) (string_content "no hppa_fixup entry for fixup type 0x%x") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);" (call_expression "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3)" (identifier "FUN_0002ece0") (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (, ",") (identifier "uVar5") (, ",") (identifier "iVar3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);" (assignment_expression "iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" (identifier "iVar3") (= "=") (binary_expression "*(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" (binary_expression "*(int *)(param_1 + 4) + 0x4c" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x4c")) (+ "+") (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (if_statement "if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }" (if "if") (parenthesized_expression "((param_1[2] != 4) || (puVar1[2] == 0x20))" (( "(") (binary_expression "(param_1[2] != 4) || (puVar1[2] == 0x20)" (parenthesized_expression "(param_1[2] != 4)" (( "(") (binary_expression "param_1[2] != 4" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(puVar1[2] == 0x20)" (( "(") (binary_expression "puVar1[2] == 0x20" (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x20")) () ")"))) () ")")) (compound_statement "{\n    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);\n    return;\n  }" ({ "{") (expression_statement "FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);" (call_expression "FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2])" (identifier "FUN_00043da0") (argument_list "(iVar3,*param_2,param_2[1],param_1[2])" (( "(") (identifier "iVar3") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);" (assignment_expression "uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))" (( "(") (pointer_expression "**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28)" (* "*") (pointer_expression "*(code **)(*(int *)(DAT_00088f24 + 4) + 0x28)" (* "*") (cast_expression "(code **)(*(int *)(DAT_00088f24 + 4) + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(DAT_00088f24 + 4) + 0x28)" (( "(") (binary_expression "*(int *)(DAT_00088f24 + 4) + 0x28" (pointer_expression "*(int *)(DAT_00088f24 + 4)" (* "*") (cast_expression "(int *)(DAT_00088f24 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00088f24 + 4)" (( "(") (binary_expression "DAT_00088f24 + 4" (identifier "DAT_00088f24") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (switch_statement "switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }" (switch "switch") (parenthesized_expression "(uVar2 >> 0x1a)" (( "(") (binary_expression "uVar2 >> 0x1a" (identifier "uVar2") (>> ">>") (number_literal "0x1a")) () ")")) (compound_statement "{\n  case 8:\n  case 10:\n    local_44 = 0x15;\n    break;\n  default:\n    local_44 = 0x20;\n    goto LAB_00048066;\n  case 0xd:\n  case 0x10:\n  case 0x11:\n  case 0x12:\n  case 0x13:\n  case 0x18:\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;\n  case 0x20:\n  case 0x21:\n  case 0x22:\n  case 0x23:\n  case 0x27:\n  case 0x28:\n  case 0x29:\n  case 0x2a:\n  case 0x2b:\n  case 0x2f:\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x3b:\n    local_44 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;\n  case 0x38:\n  case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;\n  case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;\n  }" ({ "{") (case_statement "case 8:" (case "case") (number_literal "8") (: ":")) (case_statement "case 10:\n    local_44 = 0x15;\n    break;" (case "case") (number_literal "10") (: ":") (expression_statement "local_44 = 0x15;" (assignment_expression "local_44 = 0x15" (identifier "local_44") (= "=") (number_literal "0x15")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n    local_44 = 0x20;\n    goto LAB_00048066;" (default "default") (: ":") (expression_statement "local_44 = 0x20;" (assignment_expression "local_44 = 0x20" (identifier "local_44") (= "=") (number_literal "0x20")) (; ";")) (goto_statement "goto LAB_00048066;" (goto "goto") (statement_identifier "LAB_00048066") (; ";"))) (case_statement "case 0xd:" (case "case") (number_literal "0xd") (: ":")) (case_statement "case 0x10:" (case "case") (number_literal "0x10") (: ":")) (case_statement "case 0x11:" (case "case") (number_literal "0x11") (: ":")) (case_statement "case 0x12:" (case "case") (number_literal "0x12") (: ":")) (case_statement "case 0x13:" (case "case") (number_literal "0x13") (: ":")) (case_statement "case 0x18:" (case "case") (number_literal "0x18") (: ":")) (case_statement "case 0x19:" (case "case") (number_literal "0x19") (: ":")) (case_statement "case 0x1a:" (case "case") (number_literal "0x1a") (: ":")) (case_statement "case 0x1b:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;\n    break;" (case "case") (number_literal "0x1b") (: ":") (expression_statement "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10\n    ;" (assignment_expression "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10" (identifier "local_44") (= "=") (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe)" (( "(") (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" (- "-") (call_expression "(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" (( "(") (binary_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00088f24 + 0x84) + 0x10)" (( "(") (binary_expression "*(int *)(DAT_00088f24 + 0x84) + 0x10" (pointer_expression "*(int *)(DAT_00088f24 + 0x84)" (* "*") (cast_expression "(int *)(DAT_00088f24 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00088f24 + 0x84)" (( "(") (binary_expression "DAT_00088f24 + 0x84" (identifier "DAT_00088f24") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (< "<") (number_literal "0x19")) () ")")))) (& "&") (number_literal "0xfffffffe")) () ")")) (+ "+") (number_literal "0x10"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x14:" (case "case") (number_literal "0x14") (: ":")) (case_statement "case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }\n    local_44 = 10;\n    break;" (case "case") (number_literal "0x1c") (: ":") (if_statement "if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }" (if "if") (parenthesized_expression "(0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10))" (( "(") (binary_expression "0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" (number_literal "0x18") (< "<") (pointer_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00088f24 + 0x84) + 0x10)" (( "(") (binary_expression "*(int *)(DAT_00088f24 + 0x84) + 0x10" (pointer_expression "*(int *)(DAT_00088f24 + 0x84)" (* "*") (cast_expression "(int *)(DAT_00088f24 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00088f24 + 0x84)" (( "(") (binary_expression "DAT_00088f24 + 0x84" (identifier "DAT_00088f24") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (compound_statement "{\n      local_44 = 0xfffffff6;\n      goto LAB_00048066;\n    }" ({ "{") (expression_statement "local_44 = 0xfffffff6;" (assignment_expression "local_44 = 0xfffffff6" (identifier "local_44") (= "=") (number_literal "0xfffffff6")) (; ";")) (goto_statement "goto LAB_00048066;" (goto "goto") (statement_identifier "LAB_00048066") (; ";")) (} "}"))) (expression_statement "local_44 = 10;" (assignment_expression "local_44 = 10" (identifier "local_44") (= "=") (number_literal "10")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x16:" (case "case") (number_literal "0x16") (: ":")) (case_statement "case 0x17:" (case "case") (number_literal "0x17") (: ":")) (case_statement "case 0x1e:" (case "case") (number_literal "0x1e") (: ":")) (case_statement "case 0x1f:\n    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;\nLAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) goto LAB_00048670;\n    goto LAB_00048071;" (case "case") (number_literal "0x1f") (: ":") (expression_statement "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;" (assignment_expression "local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10" (identifier "local_44") (= "=") (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5)" (( "(") (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" (- "-") (call_expression "(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19)" (( "(") (binary_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00088f24 + 0x84) + 0x10)" (( "(") (binary_expression "*(int *)(DAT_00088f24 + 0x84) + 0x10" (pointer_expression "*(int *)(DAT_00088f24 + 0x84)" (* "*") (cast_expression "(int *)(DAT_00088f24 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00088f24 + 0x84)" (( "(") (binary_expression "DAT_00088f24 + 0x84" (identifier "DAT_00088f24") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (< "<") (number_literal "0x19")) () ")")))) (& "&") (number_literal "5")) () ")")) (- "-") (number_literal "0x10"))) (; ";")) (labeled_statement "LAB_00048066:\n    iVar3 = *(int *)(param_1 + 0xc);" (statement_identifier "LAB_00048066") (: ":") (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (if_statement "if (iVar3 == 0) goto LAB_00048670;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00048670;" (goto "goto") (statement_identifier "LAB_00048670") (; ";"))) (goto_statement "goto LAB_00048071;" (goto "goto") (statement_identifier "LAB_00048071") (; ";"))) (case_statement "case 0x20:" (case "case") (number_literal "0x20") (: ":")) (case_statement "case 0x21:" (case "case") (number_literal "0x21") (: ":")) (case_statement "case 0x22:" (case "case") (number_literal "0x22") (: ":")) (case_statement "case 0x23:" (case "case") (number_literal "0x23") (: ":")) (case_statement "case 0x27:" (case "case") (number_literal "0x27") (: ":")) (case_statement "case 0x28:" (case "case") (number_literal "0x28") (: ":")) (case_statement "case 0x29:" (case "case") (number_literal "0x29") (: ":")) (case_statement "case 0x2a:" (case "case") (number_literal "0x2a") (: ":")) (case_statement "case 0x2b:" (case "case") (number_literal "0x2b") (: ":")) (case_statement "case 0x2f:" (case "case") (number_literal "0x2f") (: ":")) (case_statement "case 0x30:" (case "case") (number_literal "0x30") (: ":")) (case_statement "case 0x31:" (case "case") (number_literal "0x31") (: ":")) (case_statement "case 0x32:" (case "case") (number_literal "0x32") (: ":")) (case_statement "case 0x33:" (case "case") (number_literal "0x33") (: ":")) (case_statement "case 0x3b:\n    local_44 = 0xc;\n    break;" (case "case") (number_literal "0x3b") (: ":") (expression_statement "local_44 = 0xc;" (assignment_expression "local_44 = 0xc" (identifier "local_44") (= "=") (number_literal "0xc")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x24:" (case "case") (number_literal "0x24") (: ":")) (case_statement "case 0x25:" (case "case") (number_literal "0x25") (: ":")) (case_statement "case 0x2c:" (case "case") (number_literal "0x2c") (: ":")) (case_statement "case 0x2d:\n    iVar3 = *(int *)(param_1 + 0xc);\n    local_44 = 0xb;\n    if (iVar3 != 0) goto LAB_00048253;\n    iVar6 = *(int *)(param_1 + 0x30);\njoined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;\n    goto LAB_0004887b;" (case "case") (number_literal "0x2d") (: ":") (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "local_44 = 0xb;" (assignment_expression "local_44 = 0xb" (identifier "local_44") (= "=") (number_literal "0xb")) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_00048253;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00048253;" (goto "goto") (statement_identifier "LAB_00048253") (; ";"))) (expression_statement "iVar6 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x30)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (labeled_statement "joined_r0x00048a45:\n    if (iVar6 == 0) goto LAB_00048253;" (statement_identifier "joined_r0x00048a45") (: ":") (if_statement "if (iVar6 == 0) goto LAB_00048253;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00048253;" (goto "goto") (statement_identifier "LAB_00048253") (; ";")))) (goto_statement "goto LAB_0004887b;" (goto "goto") (statement_identifier "LAB_0004887b") (; ";"))) (case_statement "case 0x38:" (case "case") (number_literal "0x38") (: ":")) (case_statement "case 0x39:\n    local_44 = 0x11;\ncode_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);\n    if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }\n    if (local_44 == 0x11) goto LAB_00047f6e;\n    if (local_44 != 0x16) goto code_r0x00047ff3;\n    local_34 = 8;\n    goto code_r0x00048094;" (case "case") (number_literal "0x39") (: ":") (expression_statement "local_44 = 0x11;" (assignment_expression "local_44 = 0x11" (identifier "local_44") (= "=") (number_literal "0x11")) (; ";")) (labeled_statement "code_r0x00047f58:\n    iVar3 = *(int *)(param_1 + 0xc);" (statement_identifier "code_r0x00047f58") (: ":") (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (if_statement "if (iVar3 == 0) {\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar6 = *(int *)(param_1 + 0x30);\n      goto joined_r0x00048a45;\n    }" ({ "{") (expression_statement "iVar6 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar6 = *(int *)(param_1 + 0x30)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (goto_statement "goto joined_r0x00048a45;" (goto "goto") (statement_identifier "joined_r0x00048a45") (; ";")) (} "}"))) (if_statement "if (local_44 == 0x11) goto LAB_00047f6e;" (if "if") (parenthesized_expression "(local_44 == 0x11)" (( "(") (binary_expression "local_44 == 0x11" (identifier "local_44") (== "==") (number_literal "0x11")) () ")")) (goto_statement "goto LAB_00047f6e;" (goto "goto") (statement_identifier "LAB_00047f6e") (; ";"))) (if_statement "if (local_44 != 0x16) goto code_r0x00047ff3;" (if "if") (parenthesized_expression "(local_44 != 0x16)" (( "(") (binary_expression "local_44 != 0x16" (identifier "local_44") (!= "!=") (number_literal "0x16")) () ")")) (goto_statement "goto code_r0x00047ff3;" (goto "goto") (statement_identifier "code_r0x00047ff3") (; ";"))) (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" (identifier "local_34") (= "=") (number_literal "8")) (; ";")) (goto_statement "goto code_r0x00048094;" (goto "goto") (statement_identifier "code_r0x00048094") (; ";"))) (case_statement "case 0x3a:\n    if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }\n    local_44 = 0x11;" (case "case") (number_literal "0x3a") (: ":") (if_statement "if ((uVar2 & 0x8000) != 0) {\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }" (if "if") (parenthesized_expression "((uVar2 & 0x8000) != 0)" (( "(") (binary_expression "(uVar2 & 0x8000) != 0" (parenthesized_expression "(uVar2 & 0x8000)" (( "(") (binary_expression "uVar2 & 0x8000" (identifier "uVar2") (& "&") (number_literal "0x8000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_44 = 0x16;\n      goto code_r0x00047f58;\n    }" ({ "{") (expression_statement "local_44 = 0x16;" (assignment_expression "local_44 = 0x16" (identifier "local_44") (= "=") (number_literal "0x16")) (; ";")) (goto_statement "goto code_r0x00047f58;" (goto "goto") (statement_identifier "code_r0x00047f58") (; ";")) (} "}"))) (expression_statement "local_44 = 0x11;" (assignment_expression "local_44 = 0x11" (identifier "local_44") (= "=") (number_literal "0x11")) (; ";"))) (} "}"))) (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar3 != 0) {\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_34 = 0;\n    local_30 = 0;\n    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;\nLAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }\n    if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }\nLAB_00047f6e:\n    local_34 = 8;\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_00047f87;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;\n    if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }\n    iVar6 = local_28 + (0xfffc0007 < local_2c);\n    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }\n    goto LAB_000481c0;\n  }" ({ "{") (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;" (if "if") (parenthesized_expression "((0x421000U >> (local_44 & 0x1f) & 1) == 0)" (( "(") (binary_expression "(0x421000U >> (local_44 & 0x1f) & 1) == 0" (parenthesized_expression "(0x421000U >> (local_44 & 0x1f) & 1)" (( "(") (binary_expression "0x421000U >> (local_44 & 0x1f) & 1" (binary_expression "0x421000U >> (local_44 & 0x1f)" (number_literal "0x421000U") (>> ">>") (parenthesized_expression "(local_44 & 0x1f)" (( "(") (binary_expression "local_44 & 0x1f" (identifier "local_44") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00047f87;" (goto "goto") (statement_identifier "LAB_00047f87") (; ";"))) (labeled_statement "LAB_00047fd9:\n    if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }" (statement_identifier "LAB_00047fd9") (: ":") (if_statement "if ((local_44 != 0x11) && (local_44 != 0xc)) {\n      local_34 = 8;\n      goto LAB_00048081;\n    }" (if "if") (parenthesized_expression "((local_44 != 0x11) && (local_44 != 0xc))" (( "(") (binary_expression "(local_44 != 0x11) && (local_44 != 0xc)" (parenthesized_expression "(local_44 != 0x11)" (( "(") (binary_expression "local_44 != 0x11" (identifier "local_44") (!= "!=") (number_literal "0x11")) () ")")) (&& "&&") (parenthesized_expression "(local_44 != 0xc)" (( "(") (binary_expression "local_44 != 0xc" (identifier "local_44") (!= "!=") (number_literal "0xc")) () ")"))) () ")")) (compound_statement "{\n      local_34 = 8;\n      goto LAB_00048081;\n    }" ({ "{") (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" (identifier "local_34") (= "=") (number_literal "8")) (; ";")) (goto_statement "goto LAB_00048081;" (goto "goto") (statement_identifier "LAB_00048081") (; ";")) (} "}")))) (if_statement "if (iVar3 == 0) {\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\ncode_r0x00047ff3:\n      local_34 = 8;\n      local_30 = 0;\n      goto LAB_00047f87;\n    }" ({ "{") (labeled_statement "code_r0x00047ff3:\n      local_34 = 8;" (statement_identifier "code_r0x00047ff3") (: ":") (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" (identifier "local_34") (= "=") (number_literal "8")) (; ";"))) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00047f87;" (goto "goto") (statement_identifier "LAB_00047f87") (; ";")) (} "}"))) (labeled_statement "LAB_00047f6e:\n    local_34 = 8;" (statement_identifier "LAB_00047f6e") (: ":") (expression_statement "local_34 = 8;" (assignment_expression "local_34 = 8" (identifier "local_34") (= "=") (number_literal "8")) (; ";"))) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((*param_1 & 1) == 0) goto LAB_00047f87;" (if "if") (parenthesized_expression "((*param_1 & 1) == 0)" (( "(") (binary_expression "(*param_1 & 1) == 0" (parenthesized_expression "(*param_1 & 1)" (( "(") (binary_expression "*param_1 & 1" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00047f87;" (goto "goto") (statement_identifier "LAB_00047f87") (; ";"))) (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" (identifier "local_28") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" (identifier "local_2c") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "iVar6 = local_28 + (0xffffe007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xffffe007 < local_2c)" (identifier "iVar6") (= "=") (binary_expression "local_28 + (0xffffe007 < local_2c)" (identifier "local_28") (+ "+") (parenthesized_expression "(0xffffe007 < local_2c)" (( "(") (binary_expression "0xffffe007 < local_2c" (number_literal "0xffffe007") (< "<") (identifier "local_2c")) () ")")))) (; ";")) (if_statement "if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;" (if "if") (parenthesized_expression "(iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6)" (( "(") (binary_expression "iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (call_expression "(uint)(0x3fff < local_2c + 0x1ff8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x3fff < local_2c + 0x1ff8)" (( "(") (binary_expression "0x3fff < local_2c + 0x1ff8" (number_literal "0x3fff") (< "<") (binary_expression "local_2c + 0x1ff8" (identifier "local_2c") (+ "+") (number_literal "0x1ff8"))) () ")"))) (<= "<=") (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar6")))) () ")")) (goto_statement "goto LAB_000489d0;" (goto "goto") (statement_identifier "LAB_000489d0") (; ";"))) (if_statement "if (local_44 != 0x11) {\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }" (if "if") (parenthesized_expression "(local_44 != 0x11)" (( "(") (binary_expression "local_44 != 0x11" (identifier "local_44") (!= "!=") (number_literal "0x11")) () ")")) (compound_statement "{\n      if (local_44 != 0x16) goto LAB_00047f87;\n      goto LAB_000480dd;\n    }" ({ "{") (if_statement "if (local_44 != 0x16) goto LAB_00047f87;" (if "if") (parenthesized_expression "(local_44 != 0x16)" (( "(") (binary_expression "local_44 != 0x16" (identifier "local_44") (!= "!=") (number_literal "0x16")) () ")")) (goto_statement "goto LAB_00047f87;" (goto "goto") (statement_identifier "LAB_00047f87") (; ";"))) (goto_statement "goto LAB_000480dd;" (goto "goto") (statement_identifier "LAB_000480dd") (; ";")) (} "}"))) (expression_statement "iVar6 = local_28 + (0xfffc0007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xfffc0007 < local_2c)" (identifier "iVar6") (= "=") (binary_expression "local_28 + (0xfffc0007 < local_2c)" (identifier "local_28") (+ "+") (parenthesized_expression "(0xfffc0007 < local_2c)" (( "(") (binary_expression "0xfffc0007 < local_2c" (number_literal "0xfffc0007") (< "<") (identifier "local_2c")) () ")")))) (; ";")) (if_statement "if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }" (if "if") (parenthesized_expression "(iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6)" (( "(") (binary_expression "iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6" (call_expression "(uint)(0x7ffff < local_2c + 0x3fff8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x7ffff < local_2c + 0x3fff8)" (( "(") (binary_expression "0x7ffff < local_2c + 0x3fff8" (number_literal "0x7ffff") (< "<") (binary_expression "local_2c + 0x3fff8" (identifier "local_2c") (+ "+") (number_literal "0x3fff8"))) () ")"))) (<= "<=") (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar6")))) () ")")) (compound_statement "{\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;\n      local_28 = param_2[1];\n      local_2c = *param_2;\n    }" ({ "{") (expression_statement "iVar3 = FUN_0003aef0(iVar3);" (assignment_expression "iVar3 = FUN_0003aef0(iVar3)" (identifier "iVar3") (= "=") (call_expression "FUN_0003aef0(iVar3)" (identifier "FUN_0003aef0") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))\n      goto LAB_0004872d;" (if "if") (parenthesized_expression "((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))" (( "(") (binary_expression "(iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0)" (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0)" (( "(") (comma_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0" (assignment_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" (identifier "iVar3") (= "=") (call_expression "FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" (identifier "FUN_0003af60") (argument_list "(*(undefined4 *)(param_1 + 0xc))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0004872d;" (goto "goto") (statement_identifier "LAB_0004872d") (; ";"))) (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" (identifier "local_28") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" (identifier "local_2c") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (} "}"))) (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }" (if "if") (parenthesized_expression "(((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)))" (( "(") (binary_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))" (parenthesized_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" (( "(") (binary_expression "(uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar4 == 10)" (( "(") (binary_expression "uVar4 == 10" (identifier "uVar4") (== "==") (number_literal "10")) () ")")) (&& "&&") (parenthesized_expression "((uVar2 & 0xffe00000) == 0xe8000000)" (( "(") (binary_expression "(uVar2 & 0xffe00000) == 0xe8000000" (parenthesized_expression "(uVar2 & 0xffe00000)" (( "(") (binary_expression "uVar2 & 0xffe00000" (identifier "uVar2") (& "&") (number_literal "0xffe00000")) () ")")) (== "==") (number_literal "0xe8000000")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))" (( "(") (comma_expression "iVar3 = local_28 + (0xfffc0007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)" (assignment_expression "iVar3 = local_28 + (0xfffc0007 < local_2c)" (identifier "iVar3") (= "=") (binary_expression "local_28 + (0xfffc0007 < local_2c)" (identifier "local_28") (+ "+") (parenthesized_expression "(0xfffc0007 < local_2c)" (( "(") (binary_expression "0xfffc0007 < local_2c" (number_literal "0xfffc0007") (< "<") (identifier "local_2c")) () ")")))) (, ",") (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)" (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar3")) (< "<") (call_expression "(uint)(0x7ffff < local_2c + 0x3fff8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x7ffff < local_2c + 0x3fff8)" (( "(") (binary_expression "0x7ffff < local_2c + 0x3fff8" (number_literal "0x7ffff") (< "<") (binary_expression "local_2c + 0x3fff8" (identifier "local_2c") (+ "+") (number_literal "0x3fff8"))) () ")")))))) () ")"))) () ")")) (compound_statement "{\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      uVar2 = local_2c - 8;\n      goto LAB_00048a23;\n    }" ({ "{") (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "dcgettext") (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Field out of range [%d..%d] (%d)."" (" """) (string_content "Field out of range [%d..%d] (%d).") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar8 = 0x3ffff;" (assignment_expression "uVar8 = 0x3ffff" (identifier "uVar8") (= "=") (number_literal "0x3ffff")) (; ";")) (expression_statement "uVar7 = 0xfffc0000;" (assignment_expression "uVar7 = 0xfffc0000" (identifier "uVar7") (= "=") (number_literal "0xfffc0000")) (; ";")) (expression_statement "uVar2 = local_2c - 8;" (assignment_expression "uVar2 = local_2c - 8" (identifier "uVar2") (= "=") (binary_expression "local_2c - 8" (identifier "local_2c") (- "-") (number_literal "8"))) (; ";")) (goto_statement "goto LAB_00048a23;" (goto "goto") (statement_identifier "LAB_00048a23") (; ";")) (} "}"))) (goto_statement "goto LAB_000481c0;" (goto "goto") (statement_identifier "LAB_000481c0") (; ";")) (} "}"))) (labeled_statement "LAB_00048670:\n  if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }" (statement_identifier "LAB_00048670") (: ":") (if_statement "if (*(int *)(param_1 + 0x30) == 0) {\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x30) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x30) == 0" (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = 0;\n    if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }\nLAB_00048081:\n    local_30 = 0;\n    if (local_44 != 0x16) goto LAB_00047f87;\n    if (iVar3 == 0) goto LAB_0004811d;\ncode_r0x00048094:\n    local_30 = 0;\n    if ((*param_1 & 1) == 0) goto LAB_0004811d;\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    iVar6 = local_28 + (0xffffe007 < local_2c);\n    local_44 = 0x16;\n    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }\nLAB_000480dd:\n    local_30 = 0;\n    iVar6 = local_28 + (0xff800007 < local_2c);\n    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }\nLAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }\nLAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);\n    uVar4 = *(uint *)(param_1 + 0x30);\n    goto LAB_000481c0;\n  }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_44 < 0x17) {\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }\n    else {\nLAB_00048071:\n      local_34 = 0;\n    }" (if "if") (parenthesized_expression "(local_44 < 0x17)" (( "(") (binary_expression "local_44 < 0x17" (identifier "local_44") (< "<") (number_literal "0x17")) () ")")) (compound_statement "{\nLAB_00048253:\n      local_34 = 0;\n      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;\n    }" ({ "{") (labeled_statement "LAB_00048253:\n      local_34 = 0;" (statement_identifier "LAB_00048253") (: ":") (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";"))) (if_statement "if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;" (if "if") (parenthesized_expression "((0x421000U >> (local_44 & 0x1f) & 1) != 0)" (( "(") (binary_expression "(0x421000U >> (local_44 & 0x1f) & 1) != 0" (parenthesized_expression "(0x421000U >> (local_44 & 0x1f) & 1)" (( "(") (binary_expression "0x421000U >> (local_44 & 0x1f) & 1" (binary_expression "0x421000U >> (local_44 & 0x1f)" (number_literal "0x421000U") (>> ">>") (parenthesized_expression "(local_44 & 0x1f)" (( "(") (binary_expression "local_44 & 0x1f" (identifier "local_44") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00047fd9;" (goto "goto") (statement_identifier "LAB_00047fd9") (; ";"))) (} "}")) (else_clause "else {\nLAB_00048071:\n      local_34 = 0;\n    }" (else "else") (compound_statement "{\nLAB_00048071:\n      local_34 = 0;\n    }" ({ "{") (labeled_statement "LAB_00048071:\n      local_34 = 0;" (statement_identifier "LAB_00048071") (: ":") (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";"))) (} "}")))) (labeled_statement "LAB_00048081:\n    local_30 = 0;" (statement_identifier "LAB_00048081") (: ":") (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (local_44 != 0x16) goto LAB_00047f87;" (if "if") (parenthesized_expression "(local_44 != 0x16)" (( "(") (binary_expression "local_44 != 0x16" (identifier "local_44") (!= "!=") (number_literal "0x16")) () ")")) (goto_statement "goto LAB_00047f87;" (goto "goto") (statement_identifier "LAB_00047f87") (; ";"))) (if_statement "if (iVar3 == 0) goto LAB_0004811d;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004811d;" (goto "goto") (statement_identifier "LAB_0004811d") (; ";"))) (labeled_statement "code_r0x00048094:\n    local_30 = 0;" (statement_identifier "code_r0x00048094") (: ":") (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";"))) (if_statement "if ((*param_1 & 1) == 0) goto LAB_0004811d;" (if "if") (parenthesized_expression "((*param_1 & 1) == 0)" (( "(") (binary_expression "(*param_1 & 1) == 0" (parenthesized_expression "(*param_1 & 1)" (( "(") (binary_expression "*param_1 & 1" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004811d;" (goto "goto") (statement_identifier "LAB_0004811d") (; ";"))) (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" (identifier "local_28") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" (identifier "local_2c") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "iVar6 = local_28 + (0xffffe007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xffffe007 < local_2c)" (identifier "iVar6") (= "=") (binary_expression "local_28 + (0xffffe007 < local_2c)" (identifier "local_28") (+ "+") (parenthesized_expression "(0xffffe007 < local_2c)" (( "(") (binary_expression "0xffffe007 < local_2c" (number_literal "0xffffe007") (< "<") (identifier "local_2c")) () ")")))) (; ";")) (expression_statement "local_44 = 0x16;" (assignment_expression "local_44 = 0x16" (identifier "local_44") (= "=") (number_literal "0x16")) (; ";")) (if_statement "if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }" (if "if") (parenthesized_expression "(iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6)" (( "(") (binary_expression "iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6" (call_expression "(uint)(0x3fff < local_2c + 0x1ff8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x3fff < local_2c + 0x1ff8)" (( "(") (binary_expression "0x3fff < local_2c + 0x1ff8" (number_literal "0x3fff") (< "<") (binary_expression "local_2c + 0x1ff8" (identifier "local_2c") (+ "+") (number_literal "0x1ff8"))) () ")"))) (<= "<=") (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar6")))) () ")")) (compound_statement "{\nLAB_000489d0:\n      local_30 = 0;\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;\nLAB_0004872d:\n      local_30 = 0;\n      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }\n      goto LAB_00047f87;\n    }" ({ "{") (labeled_statement "LAB_000489d0:\n      local_30 = 0;" (statement_identifier "LAB_000489d0") (: ":") (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";"))) (expression_statement "iVar3 = FUN_0003aef0(iVar3);" (assignment_expression "iVar3 = FUN_0003aef0(iVar3)" (identifier "iVar3") (= "=") (call_expression "FUN_0003aef0(iVar3)" (identifier "FUN_0003aef0") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00047f87;" (if "if") (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" (( "(") (binary_expression "(iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (( "(") (comma_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" (identifier "iVar3") (= "=") (call_expression "FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" (identifier "FUN_0003af60") (argument_list "(*(undefined4 *)(param_1 + 0xc))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00047f87;" (goto "goto") (statement_identifier "LAB_00047f87") (; ";"))) (labeled_statement "LAB_0004872d:\n      local_30 = 0;" (statement_identifier "LAB_0004872d") (: ":") (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";"))) (expression_statement "iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));" (assignment_expression "iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc))" (identifier "iVar3") (= "=") (call_expression "FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc))" (identifier "FUN_0003b4a0") (argument_list "(*(undefined4 *)(param_1 + 0xc))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }" (if "if") (parenthesized_expression "((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))))" (( "(") (binary_expression "(iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))" (parenthesized_expression "(iVar3 == puVar1[4])" (( "(") (binary_expression "iVar3 == puVar1[4]" (identifier "iVar3") (== "==") (subscript_expression "puVar1[4]" (identifier "puVar1") ([ "[") (number_literal "4") (] "]"))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))" (( "(") (parenthesized_expression "(*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))" (( "(") (binary_expression "*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])" (binary_expression "*(int *)(param_1 + 0x10) == 0" (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])" (( "(") (comma_expression "iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]" (assignment_expression "iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10))" (identifier "iVar3") (= "=") (call_expression "FUN_0003b4a0(*(int *)(param_1 + 0x10))" (identifier "FUN_0003b4a0") (argument_list "(*(int *)(param_1 + 0x10))" (( "(") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (, ",") (binary_expression "iVar3 == puVar1[4]" (identifier "iVar3") (== "==") (subscript_expression "puVar1[4]" (identifier "puVar1") ([ "[") (number_literal "4") (] "]")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        local_34 = *param_2;\n        local_30 = param_2[1];\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }\n      }" ({ "{") (expression_statement "local_34 = *param_2;" (assignment_expression "local_34 = *param_2" (identifier "local_34") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "local_30 = param_2[1];" (assignment_expression "local_30 = param_2[1]" (identifier "local_30") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (switch_statement "switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }" (switch "switch") (parenthesized_expression "(*puVar1)" (( "(") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) () ")")) (compound_statement "{\n        case 0:\n          break;\n        case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;\n        case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;\n        case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;\n        case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;\n        case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;\n        case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;\n        default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);\n        }" ({ "{") (case_statement "case 0:\n          break;" (case "case") (number_literal "0") (: ":") (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n          iVar3 = local_30 + (0xfffffbff < local_34);\n          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;" (case "case") (number_literal "1") (: ":") (expression_statement "iVar3 = local_30 + (0xfffffbff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffffbff < local_34)" (identifier "iVar3") (= "=") (binary_expression "local_30 + (0xfffffbff < local_34)" (identifier "local_30") (+ "+") (parenthesized_expression "(0xfffffbff < local_34)" (( "(") (binary_expression "0xfffffbff < local_34" (number_literal "0xfffffbff") (< "<") (identifier "local_34")) () ")")))) (; ";")) (expression_statement "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000" (identifier "local_34") (= "=") (binary_expression "local_34 + 0x400 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x400 >> 0xb" (binary_expression "local_34 + 0x400" (identifier "local_34") (+ "+") (number_literal "0x400")) (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "iVar3 * 0x200000" (identifier "iVar3") (* "*") (number_literal "0x200000")))) (; ";")) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" (identifier "local_30") (= "=") (binary_expression "iVar3 >> 0xb" (identifier "iVar3") (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n          local_34 = uVar4 - 0x400;\n          local_30 = (0x3ff < uVar4) - 1;\n          break;" (case "case") (number_literal "2") (: ":") (expression_statement "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);" (assignment_expression "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400)" (identifier "uVar4") (= "=") (call_expression "(uint)((ushort)local_34 & 0x7ff ^ 0x400)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ushort)local_34 & 0x7ff ^ 0x400)" (( "(") (binary_expression "(ushort)local_34 & 0x7ff ^ 0x400" (binary_expression "(ushort)local_34 & 0x7ff" (cast_expression "(ushort)local_34" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "local_34")) (& "&") (number_literal "0x7ff")) (^ "^") (number_literal "0x400")) () ")")))) (; ";")) (expression_statement "local_34 = uVar4 - 0x400;" (assignment_expression "local_34 = uVar4 - 0x400" (identifier "local_34") (= "=") (binary_expression "uVar4 - 0x400" (identifier "uVar4") (- "-") (number_literal "0x400"))) (; ";")) (expression_statement "local_30 = (0x3ff < uVar4) - 1;" (assignment_expression "local_30 = (0x3ff < uVar4) - 1" (identifier "local_30") (= "=") (binary_expression "(0x3ff < uVar4) - 1" (parenthesized_expression "(0x3ff < uVar4)" (( "(") (binary_expression "0x3ff < uVar4" (number_literal "0x3ff") (< "<") (identifier "uVar4")) () ")")) (- "-") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:" (case "case") (number_literal "3") (: ":")) (case_statement "case 7:" (case "case") (number_literal "7") (: ":")) (case_statement "case 10:" (case "case") (number_literal "10") (: ":")) (case_statement "case 0xb:\n          local_34 = local_34 >> 0xb | local_30 << 0x15;\n          local_30 = (int)local_30 >> 0xb;\n          break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "local_34 = local_34 >> 0xb | local_30 << 0x15;" (assignment_expression "local_34 = local_34 >> 0xb | local_30 << 0x15" (identifier "local_34") (= "=") (binary_expression "local_34 >> 0xb | local_30 << 0x15" (binary_expression "local_34 >> 0xb" (identifier "local_34") (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "local_30 << 0x15" (identifier "local_30") (<< "<<") (number_literal "0x15")))) (; ";")) (expression_statement "local_30 = (int)local_30 >> 0xb;" (assignment_expression "local_30 = (int)local_30 >> 0xb" (identifier "local_30") (= "=") (binary_expression "(int)local_30 >> 0xb" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n          local_30 = 0;\n          local_34 = local_34 & 0x7ff;\n          break;" (case "case") (number_literal "4") (: ":") (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" (identifier "local_34") (= "=") (binary_expression "local_34 & 0x7ff" (identifier "local_34") (& "&") (number_literal "0x7ff"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n          iVar3 = local_30 + (0xfffff7ff < local_34);\n          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n          local_30 = iVar3 >> 0xb;\n          break;" (case "case") (number_literal "5") (: ":") (expression_statement "iVar3 = local_30 + (0xfffff7ff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffff7ff < local_34)" (identifier "iVar3") (= "=") (binary_expression "local_30 + (0xfffff7ff < local_34)" (identifier "local_30") (+ "+") (parenthesized_expression "(0xfffff7ff < local_34)" (( "(") (binary_expression "0xfffff7ff < local_34" (number_literal "0xfffff7ff") (< "<") (identifier "local_34")) () ")")))) (; ";")) (expression_statement "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000" (identifier "local_34") (= "=") (binary_expression "local_34 + 0x800 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x800 >> 0xb" (binary_expression "local_34 + 0x800" (identifier "local_34") (+ "+") (number_literal "0x800")) (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "iVar3 * 0x200000" (identifier "iVar3") (* "*") (number_literal "0x200000")))) (; ";")) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" (identifier "local_30") (= "=") (binary_expression "iVar3 >> 0xb" (identifier "iVar3") (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n          local_30 = 0xffffffff;\n          local_34 = local_34 | 0xfffff800;\n          break;" (case "case") (number_literal "6") (: ":") (expression_statement "local_30 = 0xffffffff;" (assignment_expression "local_30 = 0xffffffff" (identifier "local_30") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_34 = local_34 | 0xfffff800;" (assignment_expression "local_34 = local_34 | 0xfffff800" (identifier "local_34") (= "=") (binary_expression "local_34 | 0xfffff800" (identifier "local_34") (| "|") (number_literal "0xfffff800"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 8:\n          local_34 = local_34 & 0x7ff;\n          local_30 = 0;\n          break;" (case "case") (number_literal "8") (: ":") (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" (identifier "local_34") (= "=") (binary_expression "local_34 & 0x7ff" (identifier "local_34") (& "&") (number_literal "0x7ff"))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n          local_34 = 0;\n          local_30 = 0;\n          break;" (case "case") (number_literal "9") (: ":") (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\nLAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);" (default "default") (: ":") (labeled_statement "LAB_00048c4c:\n                    \n          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);" (statement_identifier "LAB_00048c4c") (: ":") (expression_statement "FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);" (call_expression "FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1)" (identifier "FUN_0002edb0") (argument_list "("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1)" (( "(") (string_literal ""../../gas/../bfd/libhppa.h"" (" """) (string_content "../../gas/../bfd/libhppa.h") (" """)) (, ",") (number_literal "0x176") (, ",") (string_literal ""hppa_field_adjust"" (" """) (string_content "hppa_field_adjust") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";")))) (} "}"))) (} "}"))) (goto_statement "goto LAB_00047f87;" (goto "goto") (statement_identifier "LAB_00047f87") (; ";")) (} "}"))) (labeled_statement "LAB_000480dd:\n    local_30 = 0;" (statement_identifier "LAB_000480dd") (: ":") (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";"))) (expression_statement "iVar6 = local_28 + (0xff800007 < local_2c);" (assignment_expression "iVar6 = local_28 + (0xff800007 < local_2c)" (identifier "iVar6") (= "=") (binary_expression "local_28 + (0xff800007 < local_2c)" (identifier "local_28") (+ "+") (parenthesized_expression "(0xff800007 < local_2c)" (( "(") (binary_expression "0xff800007 < local_2c" (number_literal "0xff800007") (< "<") (identifier "local_2c")) () ")")))) (; ";")) (if_statement "if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }" (if "if") (parenthesized_expression "(iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6)" (( "(") (binary_expression "iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6" (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6" (call_expression "(uint)(0xffffff < local_2c + 0x7ffff8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xffffff < local_2c + 0x7ffff8)" (( "(") (binary_expression "0xffffff < local_2c + 0x7ffff8" (number_literal "0xffffff") (< "<") (binary_expression "local_2c + 0x7ffff8" (identifier "local_2c") (+ "+") (number_literal "0x7ffff8"))) () ")"))) (<= "<=") (binary_expression "(uint)-iVar6" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar6")))) () ")")) (compound_statement "{\n      iVar3 = FUN_0003aef0(iVar3);\n      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;\n      goto LAB_0004872d;\n    }" ({ "{") (expression_statement "iVar3 = FUN_0003aef0(iVar3);" (assignment_expression "iVar3 = FUN_0003aef0(iVar3)" (identifier "iVar3") (= "=") (call_expression "FUN_0003aef0(iVar3)" (identifier "FUN_0003aef0") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004811d;" (if "if") (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" (( "(") (binary_expression "(iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (( "(") (comma_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" (identifier "iVar3") (= "=") (call_expression "FUN_0003af60(*(undefined4 *)(param_1 + 0xc))" (identifier "FUN_0003af60") (argument_list "(*(undefined4 *)(param_1 + 0xc))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0004811d;" (goto "goto") (statement_identifier "LAB_0004811d") (; ";"))) (goto_statement "goto LAB_0004872d;" (goto "goto") (statement_identifier "LAB_0004872d") (; ";")) (} "}"))) (labeled_statement "LAB_0004812d:\n    uVar4 = *(uint *)(param_1 + 0x30);" (statement_identifier "LAB_0004812d") (: ":") (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";"))) (if_statement "if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }\n    else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }" (if "if") (parenthesized_expression "(((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)))" (( "(") (binary_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&\n       (iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))" (parenthesized_expression "((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" (( "(") (binary_expression "(uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar4 == 10)" (( "(") (binary_expression "uVar4 == 10" (identifier "uVar4") (== "==") (number_literal "10")) () ")")) (&& "&&") (parenthesized_expression "((uVar2 & 0xffe00000) == 0xe8000000)" (( "(") (binary_expression "(uVar2 & 0xffe00000) == 0xe8000000" (parenthesized_expression "(uVar2 & 0xffe00000)" (( "(") (binary_expression "uVar2 & 0xffe00000" (identifier "uVar2") (& "&") (number_literal "0xffe00000")) () ")")) (== "==") (number_literal "0xe8000000")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))" (( "(") (comma_expression "iVar3 = local_28 + (0xff800007 < local_2c),\n       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)" (assignment_expression "iVar3 = local_28 + (0xff800007 < local_2c)" (identifier "iVar3") (= "=") (binary_expression "local_28 + (0xff800007 < local_2c)" (identifier "local_28") (+ "+") (parenthesized_expression "(0xff800007 < local_2c)" (( "(") (binary_expression "0xff800007 < local_2c" (number_literal "0xff800007") (< "<") (identifier "local_2c")) () ")")))) (, ",") (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)" (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar3")) (< "<") (call_expression "(uint)(0xffffff < local_2c + 0x7ffff8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xffffff < local_2c + 0x7ffff8)" (( "(") (binary_expression "0xffffff < local_2c + 0x7ffff8" (number_literal "0xffffff") (< "<") (binary_expression "local_2c + 0x7ffff8" (identifier "local_2c") (+ "+") (number_literal "0x7ffff8"))) () ")")))))) () ")"))) () ")")) (compound_statement "{\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_2c - 8;\n    }" ({ "{") (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "dcgettext") (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Field out of range [%d..%d] (%d)."" (" """) (string_content "Field out of range [%d..%d] (%d).") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar8 = 0x7fffff;" (assignment_expression "uVar8 = 0x7fffff" (identifier "uVar8") (= "=") (number_literal "0x7fffff")) (; ";")) (expression_statement "uVar7 = 0xff800000;" (assignment_expression "uVar7 = 0xff800000" (identifier "uVar7") (= "=") (number_literal "0xff800000")) (; ";")) (expression_statement "uVar2 = local_2c - 8;" (assignment_expression "uVar2 = local_2c - 8" (identifier "uVar2") (= "=") (binary_expression "local_2c - 8" (identifier "local_2c") (- "-") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }" (else "else") (compound_statement "{\n      iVar3 = local_30 + (0xff800007 < local_34);\n      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar2 = local_34 - 8;\n    }" ({ "{") (expression_statement "iVar3 = local_30 + (0xff800007 < local_34);" (assignment_expression "iVar3 = local_30 + (0xff800007 < local_34)" (identifier "iVar3") (= "=") (binary_expression "local_30 + (0xff800007 < local_34)" (identifier "local_30") (+ "+") (parenthesized_expression "(0xff800007 < local_34)" (( "(") (binary_expression "0xff800007 < local_34" (number_literal "0xff800007") (< "<") (identifier "local_34")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;" (if "if") (parenthesized_expression "(iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3)" (( "(") (binary_expression "iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3" (call_expression "(uint)(0xffffff < local_34 + 0x7ffff8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xffffff < local_34 + 0x7ffff8)" (( "(") (binary_expression "0xffffff < local_34 + 0x7ffff8" (number_literal "0xffffff") (< "<") (binary_expression "local_34 + 0x7ffff8" (identifier "local_34") (+ "+") (number_literal "0x7ffff8"))) () ")"))) (<= "<=") (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar3")))) () ")")) (goto_statement "goto LAB_000481c0;" (goto "goto") (statement_identifier "LAB_000481c0") (; ";"))) (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "dcgettext") (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Field out of range [%d..%d] (%d)."" (" """) (string_content "Field out of range [%d..%d] (%d).") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar8 = 0x7fffff;" (assignment_expression "uVar8 = 0x7fffff" (identifier "uVar8") (= "=") (number_literal "0x7fffff")) (; ";")) (expression_statement "uVar7 = 0xff800000;" (assignment_expression "uVar7 = 0xff800000" (identifier "uVar7") (= "=") (number_literal "0xff800000")) (; ";")) (expression_statement "uVar2 = local_34 - 8;" (assignment_expression "uVar2 = local_34 - 8" (identifier "uVar2") (= "=") (binary_expression "local_34 - 8" (identifier "local_34") (- "-") (number_literal "8"))) (; ";")) (} "}")))) (labeled_statement "LAB_00048a23:\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);" (statement_identifier "LAB_00048a23") (: ":") (expression_statement "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2);" (call_expression "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2)" (identifier "FUN_0002ece0") (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,\n                 uVar2)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (, ",") (identifier "uVar5") (, ",") (identifier "uVar7") (, ",") (identifier "uVar8") (, ",") (identifier "uVar2") () ")"))) (; ";"))) (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (goto_statement "goto LAB_000481c0;" (goto "goto") (statement_identifier "LAB_000481c0") (; ";")) (} "}")))) (labeled_statement "LAB_0004887b:\n  local_34 = *param_2;" (statement_identifier "LAB_0004887b") (: ":") (expression_statement "local_34 = *param_2;" (assignment_expression "local_34 = *param_2" (identifier "local_34") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";"))) (expression_statement "local_30 = param_2[1];" (assignment_expression "local_30 = param_2[1]" (identifier "local_30") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (switch_statement "switch(*puVar1) {\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }" (switch "switch") (parenthesized_expression "(*puVar1)" (( "(") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) () ")")) (compound_statement "{\n  case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;\n  case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;\n  case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;\n  case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;\n  case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;\n  case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;\n  case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;\n  default:\n    goto LAB_00048c4c;\n  }" ({ "{") (case_statement "case 0:\n    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;\n    goto code_r0x000488ce;" (case "case") (number_literal "0") (: ":") (if_statement "if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;" (if "if") (parenthesized_expression "((local_44 == 0x11) || (local_44 == 0xc))" (( "(") (binary_expression "(local_44 == 0x11) || (local_44 == 0xc)" (parenthesized_expression "(local_44 == 0x11)" (( "(") (binary_expression "local_44 == 0x11" (identifier "local_44") (== "==") (number_literal "0x11")) () ")")) (|| "||") (parenthesized_expression "(local_44 == 0xc)" (( "(") (binary_expression "local_44 == 0xc" (identifier "local_44") (== "==") (number_literal "0xc")) () ")"))) () ")")) (goto_statement "goto LAB_00047f87;" (goto "goto") (statement_identifier "LAB_00047f87") (; ";"))) (goto_statement "goto code_r0x000488ce;" (goto "goto") (statement_identifier "code_r0x000488ce") (; ";"))) (case_statement "case 1:\n    iVar3 = local_30 + (0xfffffbff < local_34);\n    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;" (case "case") (number_literal "1") (: ":") (expression_statement "iVar3 = local_30 + (0xfffffbff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffffbff < local_34)" (identifier "iVar3") (= "=") (binary_expression "local_30 + (0xfffffbff < local_34)" (identifier "local_30") (+ "+") (parenthesized_expression "(0xfffffbff < local_34)" (( "(") (binary_expression "0xfffffbff < local_34" (number_literal "0xfffffbff") (< "<") (identifier "local_34")) () ")")))) (; ";")) (expression_statement "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000" (identifier "local_34") (= "=") (binary_expression "local_34 + 0x400 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x400 >> 0xb" (binary_expression "local_34 + 0x400" (identifier "local_34") (+ "+") (number_literal "0x400")) (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "iVar3 * 0x200000" (identifier "iVar3") (* "*") (number_literal "0x200000")))) (; ";")) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" (identifier "local_30") (= "=") (binary_expression "iVar3 >> 0xb" (identifier "iVar3") (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);\n    local_34 = uVar4 - 0x400;\n    local_30 = (0x3ff < uVar4) - 1;\n    break;" (case "case") (number_literal "2") (: ":") (expression_statement "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);" (assignment_expression "uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400)" (identifier "uVar4") (= "=") (call_expression "(uint)((ushort)local_34 & 0x7ff ^ 0x400)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ushort)local_34 & 0x7ff ^ 0x400)" (( "(") (binary_expression "(ushort)local_34 & 0x7ff ^ 0x400" (binary_expression "(ushort)local_34 & 0x7ff" (cast_expression "(ushort)local_34" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "local_34")) (& "&") (number_literal "0x7ff")) (^ "^") (number_literal "0x400")) () ")")))) (; ";")) (expression_statement "local_34 = uVar4 - 0x400;" (assignment_expression "local_34 = uVar4 - 0x400" (identifier "local_34") (= "=") (binary_expression "uVar4 - 0x400" (identifier "uVar4") (- "-") (number_literal "0x400"))) (; ";")) (expression_statement "local_30 = (0x3ff < uVar4) - 1;" (assignment_expression "local_30 = (0x3ff < uVar4) - 1" (identifier "local_30") (= "=") (binary_expression "(0x3ff < uVar4) - 1" (parenthesized_expression "(0x3ff < uVar4)" (( "(") (binary_expression "0x3ff < uVar4" (number_literal "0x3ff") (< "<") (identifier "uVar4")) () ")")) (- "-") (number_literal "1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:" (case "case") (number_literal "3") (: ":")) (case_statement "case 7:" (case "case") (number_literal "7") (: ":")) (case_statement "case 10:" (case "case") (number_literal "10") (: ":")) (case_statement "case 0xb:\n    local_34 = local_34 >> 0xb | local_30 << 0x15;\n    local_30 = (int)local_30 >> 0xb;\n    break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "local_34 = local_34 >> 0xb | local_30 << 0x15;" (assignment_expression "local_34 = local_34 >> 0xb | local_30 << 0x15" (identifier "local_34") (= "=") (binary_expression "local_34 >> 0xb | local_30 << 0x15" (binary_expression "local_34 >> 0xb" (identifier "local_34") (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "local_30 << 0x15" (identifier "local_30") (<< "<<") (number_literal "0x15")))) (; ";")) (expression_statement "local_30 = (int)local_30 >> 0xb;" (assignment_expression "local_30 = (int)local_30 >> 0xb" (identifier "local_30") (= "=") (binary_expression "(int)local_30 >> 0xb" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n    local_30 = 0;\n    local_34 = local_34 & 0x7ff;\n    break;" (case "case") (number_literal "4") (: ":") (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" (identifier "local_34") (= "=") (binary_expression "local_34 & 0x7ff" (identifier "local_34") (& "&") (number_literal "0x7ff"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n    iVar3 = local_30 + (0xfffff7ff < local_34);\n    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;\n    local_30 = iVar3 >> 0xb;\n    break;" (case "case") (number_literal "5") (: ":") (expression_statement "iVar3 = local_30 + (0xfffff7ff < local_34);" (assignment_expression "iVar3 = local_30 + (0xfffff7ff < local_34)" (identifier "iVar3") (= "=") (binary_expression "local_30 + (0xfffff7ff < local_34)" (identifier "local_30") (+ "+") (parenthesized_expression "(0xfffff7ff < local_34)" (( "(") (binary_expression "0xfffff7ff < local_34" (number_literal "0xfffff7ff") (< "<") (identifier "local_34")) () ")")))) (; ";")) (expression_statement "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;" (assignment_expression "local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000" (identifier "local_34") (= "=") (binary_expression "local_34 + 0x800 >> 0xb | iVar3 * 0x200000" (binary_expression "local_34 + 0x800 >> 0xb" (binary_expression "local_34 + 0x800" (identifier "local_34") (+ "+") (number_literal "0x800")) (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "iVar3 * 0x200000" (identifier "iVar3") (* "*") (number_literal "0x200000")))) (; ";")) (expression_statement "local_30 = iVar3 >> 0xb;" (assignment_expression "local_30 = iVar3 >> 0xb" (identifier "local_30") (= "=") (binary_expression "iVar3 >> 0xb" (identifier "iVar3") (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n    local_30 = 0xffffffff;\n    local_34 = local_34 | 0xfffff800;\n    break;" (case "case") (number_literal "6") (: ":") (expression_statement "local_30 = 0xffffffff;" (assignment_expression "local_30 = 0xffffffff" (identifier "local_30") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_34 = local_34 | 0xfffff800;" (assignment_expression "local_34 = local_34 | 0xfffff800" (identifier "local_34") (= "=") (binary_expression "local_34 | 0xfffff800" (identifier "local_34") (| "|") (number_literal "0xfffff800"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 8:\n    local_34 = local_34 & 0x7ff;\n    local_30 = 0;\n    break;" (case "case") (number_literal "8") (: ":") (expression_statement "local_34 = local_34 & 0x7ff;" (assignment_expression "local_34 = local_34 & 0x7ff" (identifier "local_34") (= "=") (binary_expression "local_34 & 0x7ff" (identifier "local_34") (& "&") (number_literal "0x7ff"))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n    local_34 = 0;\n    local_30 = 0;\n    break;" (case "case") (number_literal "9") (: ":") (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n    goto LAB_00048c4c;" (default "default") (: ":") (goto_statement "goto LAB_00048c4c;" (goto "goto") (statement_identifier "LAB_00048c4c") (; ";"))) (} "}"))) (if_statement "if ((local_44 != 0xc) && (local_44 != 0x11)) {\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }" (if "if") (parenthesized_expression "((local_44 != 0xc) && (local_44 != 0x11))" (( "(") (binary_expression "(local_44 != 0xc) && (local_44 != 0x11)" (parenthesized_expression "(local_44 != 0xc)" (( "(") (binary_expression "local_44 != 0xc" (identifier "local_44") (!= "!=") (number_literal "0xc")) () ")")) (&& "&&") (parenthesized_expression "(local_44 != 0x11)" (( "(") (binary_expression "local_44 != 0x11" (identifier "local_44") (!= "!=") (number_literal "0x11")) () ")"))) () ")")) (compound_statement "{\ncode_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;\nLAB_0004811d:\n    local_28 = param_2[1];\n    local_2c = *param_2;\n    goto LAB_0004812d;\n  }" ({ "{") (labeled_statement "code_r0x000488ce:\n    if (local_44 != 0x16) goto LAB_00047f87;" (statement_identifier "code_r0x000488ce") (: ":") (if_statement "if (local_44 != 0x16) goto LAB_00047f87;" (if "if") (parenthesized_expression "(local_44 != 0x16)" (( "(") (binary_expression "local_44 != 0x16" (identifier "local_44") (!= "!=") (number_literal "0x16")) () ")")) (goto_statement "goto LAB_00047f87;" (goto "goto") (statement_identifier "LAB_00047f87") (; ";")))) (labeled_statement "LAB_0004811d:\n    local_28 = param_2[1];" (statement_identifier "LAB_0004811d") (: ":") (expression_statement "local_28 = param_2[1];" (assignment_expression "local_28 = param_2[1]" (identifier "local_28") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (expression_statement "local_2c = *param_2;" (assignment_expression "local_2c = *param_2" (identifier "local_2c") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (goto_statement "goto LAB_0004812d;" (goto "goto") (statement_identifier "LAB_0004812d") (; ";")) (} "}"))) (labeled_statement "LAB_00047f87:\n                    \n  switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }" (statement_identifier "LAB_00047f87") (: ":") (switch_statement "switch(local_44) {\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }" (switch "switch") (parenthesized_expression "(local_44)" (( "(") (identifier "local_44") () ")")) (compound_statement "{\n  case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;\n  case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0x16:\n    goto LAB_0004811d;\n  case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;\n  case 0xfffffff0:\n    goto code_r0x00048512;\n  default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;\n  case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);\n  }" ({ "{") (case_statement "case 10:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;\ncode_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" (case "case") (number_literal "10") (: ":") (expression_statement "iVar3 = local_30 + (0xffffdfff < local_34);" (assignment_expression "iVar3 = local_30 + (0xffffdfff < local_34)" (identifier "iVar3") (= "=") (binary_expression "local_30 + (0xffffdfff < local_34)" (identifier "local_30") (+ "+") (parenthesized_expression "(0xffffdfff < local_34)" (( "(") (binary_expression "0xffffdfff < local_34" (number_literal "0xffffdfff") (< "<") (identifier "local_34")) () ")")))) (; ";")) (if_statement "if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;" (if "if") (parenthesized_expression "(iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000))" (( "(") (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)" (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar3")) (< "<") (call_expression "(uint)(0x3fff < local_34 + 0x2000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x3fff < local_34 + 0x2000)" (( "(") (binary_expression "0x3fff < local_34 + 0x2000" (number_literal "0x3fff") (< "<") (binary_expression "local_34 + 0x2000" (identifier "local_34") (+ "+") (number_literal "0x2000"))) () ")"))))) () ")")) (goto_statement "goto code_r0x00048a00;" (goto "goto") (statement_identifier "code_r0x00048a00") (; ";"))) (labeled_statement "code_r0x000483f8:\n    uVar4 = *(uint *)(param_1 + 0x30);" (statement_identifier "code_r0x000483f8") (: ":") (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n    uVar2 = local_34 - 8;\n    iVar3 = local_30 + (0xffffe007 < local_34);\n    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "uVar2 = local_34 - 8;" (assignment_expression "uVar2 = local_34 - 8" (identifier "uVar2") (= "=") (binary_expression "local_34 - 8" (identifier "local_34") (- "-") (number_literal "8"))) (; ";")) (expression_statement "iVar3 = local_30 + (0xffffe007 < local_34);" (assignment_expression "iVar3 = local_30 + (0xffffe007 < local_34)" (identifier "iVar3") (= "=") (binary_expression "local_30 + (0xffffe007 < local_34)" (identifier "local_30") (+ "+") (parenthesized_expression "(0xffffe007 < local_34)" (( "(") (binary_expression "0xffffe007 < local_34" (number_literal "0xffffe007") (< "<") (identifier "local_34")) () ")")))) (; ";")) (if_statement "if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }" (if "if") (parenthesized_expression "(iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8))" (( "(") (binary_expression "iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)" (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)" (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar3")) (< "<") (call_expression "(uint)(0x3fff < local_34 + 0x1ff8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x3fff < local_34 + 0x1ff8)" (( "(") (binary_expression "0x3fff < local_34 + 0x1ff8" (number_literal "0x3fff") (< "<") (binary_expression "local_34 + 0x1ff8" (identifier "local_34") (+ "+") (number_literal "0x1ff8"))) () ")"))))) () ")")) (compound_statement "{\n      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00048a23;\n    }" ({ "{") (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "dcgettext") (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Field out of range [%d..%d] (%d)."" (" """) (string_content "Field out of range [%d..%d] (%d).") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar8 = 0x1fff;" (assignment_expression "uVar8 = 0x1fff" (identifier "uVar8") (= "=") (number_literal "0x1fff")) (; ";")) (expression_statement "uVar7 = 0xffffe000;" (assignment_expression "uVar7 = 0xffffe000" (identifier "uVar7") (= "=") (number_literal "0xffffe000")) (; ";")) (goto_statement "goto LAB_00048a23;" (goto "goto") (statement_identifier "LAB_00048a23") (; ";")) (} "}"))) (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xe:\n    iVar3 = local_30 + (0xffffdfff < local_34);\n    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;\ncode_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar8 = 0x1fff;\n    uVar7 = 0xffffe000;\n    uVar2 = local_34;\n    goto LAB_00048a23;" (case "case") (number_literal "0xe") (: ":") (expression_statement "iVar3 = local_30 + (0xffffdfff < local_34);" (assignment_expression "iVar3 = local_30 + (0xffffdfff < local_34)" (identifier "iVar3") (= "=") (binary_expression "local_30 + (0xffffdfff < local_34)" (identifier "local_30") (+ "+") (parenthesized_expression "(0xffffdfff < local_34)" (( "(") (binary_expression "0xffffdfff < local_34" (number_literal "0xffffdfff") (< "<") (identifier "local_34")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;" (if "if") (parenthesized_expression "(iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3)" (( "(") (binary_expression "iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3" (call_expression "(uint)(0x3fff < local_34 + 0x2000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x3fff < local_34 + 0x2000)" (( "(") (binary_expression "0x3fff < local_34 + 0x2000" (number_literal "0x3fff") (< "<") (binary_expression "local_34 + 0x2000" (identifier "local_34") (+ "+") (number_literal "0x2000"))) () ")"))) (<= "<=") (binary_expression "(uint)-iVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar3")))) () ")")) (goto_statement "goto code_r0x000483f8;" (goto "goto") (statement_identifier "code_r0x000483f8") (; ";"))) (labeled_statement "code_r0x00048a00:\n    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (statement_identifier "code_r0x00048a00") (: ":") (expression_statement "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "dcgettext") (argument_list "(0,"Field out of range [%d..%d] (%d).",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Field out of range [%d..%d] (%d)."" (" """) (string_content "Field out of range [%d..%d] (%d).") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "uVar8 = 0x1fff;" (assignment_expression "uVar8 = 0x1fff" (identifier "uVar8") (= "=") (number_literal "0x1fff")) (; ";")) (expression_statement "uVar7 = 0xffffe000;" (assignment_expression "uVar7 = 0xffffe000" (identifier "uVar7") (= "=") (number_literal "0xffffe000")) (; ";")) (expression_statement "uVar2 = local_34;" (assignment_expression "uVar2 = local_34" (identifier "uVar2") (= "=") (identifier "local_34")) (; ";")) (goto_statement "goto LAB_00048a23;" (goto "goto") (statement_identifier "LAB_00048a23") (; ";"))) (case_statement "case 0x10:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" (case "case") (number_literal "0x10") (: ":") (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x16:\n    goto LAB_0004811d;" (case "case") (number_literal "0x16") (: ":") (goto_statement "goto LAB_0004811d;" (goto "goto") (statement_identifier "LAB_0004811d") (; ";"))) (case_statement "case 0x20:\n    uVar4 = *(uint *)(param_1 + 0x30);\n    break;" (case "case") (number_literal "0x20") (: ":") (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xfffffff0:\n    goto code_r0x00048512;" (case "case") (number_literal "0xfffffff0") (: ":") (goto_statement "goto code_r0x00048512;" (goto "goto") (statement_identifier "code_r0x00048512") (; ";"))) (case_statement "default:\n    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);\n    return;" (default "default") (: ":") (expression_statement "uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);" (assignment_expression "uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5)" (identifier "dcgettext") (argument_list "(0,"Unknown relocation encountered in md_apply_fix.",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unknown relocation encountered in md_apply_fix."" (" """) (string_content "Unknown relocation encountered in md_apply_fix.") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);" (call_expression "FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5)" (identifier "FUN_0002ece0") (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (, ",") (identifier "uVar5") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "case 0xfffffff6:\ncode_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);" (case "case") (number_literal "0xfffffff6") (: ":") (labeled_statement "code_r0x00048512:\n    uVar4 = *(uint *)(param_1 + 0x30);" (statement_identifier "code_r0x00048512") (: ":") (expression_statement "uVar4 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0x30)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")))) (} "}")))) (labeled_statement "LAB_000481c0:\n  if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }" (statement_identifier "LAB_000481c0") (: ":") (if_statement "if (uVar4 != 0xa6) {\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }" (if "if") (parenthesized_expression "(uVar4 != 0xa6)" (( "(") (binary_expression "uVar4 != 0xa6" (identifier "uVar4") (!= "!=") (number_literal "0xa6")) () ")")) (compound_statement "{\n    if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;\n  }" ({ "{") (if_statement "if (uVar4 < 0xa7) {\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }\n    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;" (if "if") (parenthesized_expression "(uVar4 < 0xa7)" (( "(") (binary_expression "uVar4 < 0xa7" (identifier "uVar4") (< "<") (number_literal "0xa7")) () ")")) (compound_statement "{\n      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;\n    }" ({ "{") (if_statement "if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;" (if "if") (parenthesized_expression "((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a))))" (( "(") (binary_expression "(uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))" (parenthesized_expression "(uVar4 != 0x9e)" (( "(") (binary_expression "uVar4 != 0x9e" (identifier "uVar4") (!= "!=") (number_literal "0x9e")) () ")")) (&& "&&") (parenthesized_expression "((uVar4 != 0xa2 && (uVar4 != 0x9a)))" (( "(") (parenthesized_expression "(uVar4 != 0xa2 && (uVar4 != 0x9a))" (( "(") (binary_expression "uVar4 != 0xa2 && (uVar4 != 0x9a)" (binary_expression "uVar4 != 0xa2" (identifier "uVar4") (!= "!=") (number_literal "0xa2")) (&& "&&") (parenthesized_expression "(uVar4 != 0x9a)" (( "(") (binary_expression "uVar4 != 0x9a" (identifier "uVar4") (!= "!=") (number_literal "0x9a")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000481f6;" (goto "goto") (statement_identifier "LAB_000481f6") (; ";"))) (} "}")) (else_clause "else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;" (else "else") (if_statement "if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;" (if "if") (parenthesized_expression "((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed))))" (( "(") (binary_expression "(uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))" (parenthesized_expression "(uVar4 < 0xea)" (( "(") (binary_expression "uVar4 < 0xea" (identifier "uVar4") (< "<") (number_literal "0xea")) () ")")) (|| "||") (parenthesized_expression "((0xeb < uVar4 && (1 < uVar4 - 0xed)))" (( "(") (parenthesized_expression "(0xeb < uVar4 && (1 < uVar4 - 0xed))" (( "(") (binary_expression "0xeb < uVar4 && (1 < uVar4 - 0xed)" (binary_expression "0xeb < uVar4" (number_literal "0xeb") (< "<") (identifier "uVar4")) (&& "&&") (parenthesized_expression "(1 < uVar4 - 0xed)" (( "(") (binary_expression "1 < uVar4 - 0xed" (number_literal "1") (< "<") (binary_expression "uVar4 - 0xed" (identifier "uVar4") (- "-") (number_literal "0xed"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000481f6;" (goto "goto") (statement_identifier "LAB_000481f6") (; ";"))))) (} "}")))) (if_statement "if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0xc) != 0" (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0003dc90(*(int *)(param_1 + 0xc));\n  }" ({ "{") (expression_statement "FUN_0003dc90(*(int *)(param_1 + 0xc));" (call_expression "FUN_0003dc90(*(int *)(param_1 + 0xc))" (identifier "FUN_0003dc90") (argument_list "(*(int *)(param_1 + 0xc))" (( "(") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000481f6:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();" (statement_identifier "LAB_000481f6") (: ":") (expression_statement "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();" (call_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))()" (parenthesized_expression "(**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))" (( "(") (pointer_expression "**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30)" (* "*") (pointer_expression "*(code **)(*(int *)(DAT_00088f24 + 4) + 0x30)" (* "*") (cast_expression "(code **)(*(int *)(DAT_00088f24 + 4) + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(DAT_00088f24 + 4) + 0x30)" (( "(") (binary_expression "*(int *)(DAT_00088f24 + 4) + 0x30" (pointer_expression "*(int *)(DAT_00088f24 + 4)" (* "*") (cast_expression "(int *)(DAT_00088f24 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00088f24 + 4)" (( "(") (binary_expression "DAT_00088f24 + 4" (identifier "DAT_00088f24") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x00048bcf) */

void function_1(type_1 *var_12,type_2 *var_13,type_3 seg)

{
  type_4 *var_3;
  type_5 var_26;
  char *pcVar3;
  type_3 var_21;
  char *format;
  type_6 var_1;
  type_7 *var_8;
  int var_16;
  type_5 var_7;
  type_5 var_24;
  type_8 var_11;
  type_4 uVar10;
  type_4 uVar11;
  type_5 var_10;
  type_5 var_23;
  int var_22;
  type_5 var_15;
  int var_14;
  
  var_1 = var_12->fx_r_type;
  if (var_1 - var_2 < 2) {
    return;
  }
  if ((var_12->fx_addsy == (type_7 *)0x0) && ((*(type_9 *)var_12 & 1) == 0)) {
    *(type_9 *)var_12 = *(type_9 *)var_12 | 0x20;
  }
  var_3 = (type_4 *)var_12->tc_fix_data;
  if (var_3 == (type_4 *)0x0) {
    pcVar3 = (char *)var_4(0,"no hppa_fixup entry for fixup type 0x%x",5);
    var_5(var_12->fx_file,var_12->fx_line,pcVar3,var_1);
    return;
  }
  pcVar3 = var_12->fx_frag->fr_literal + var_12->fx_where;
  if ((var_12->fx_size != 4) || (var_3[2] == 0x20)) {
    var_6(pcVar3,*var_13,(type_5)var_12->fx_size);
    return;
  }
  var_11 = (*stdoutput->xvec->bfd_getx32)(pcVar3);
  var_7 = (type_5)var_11;
  switch(var_7 >> 0x1a) {
  case 8:
  case 10:
    var_10 = 0x15;
    break;
  default:
    var_10 = 0x20;
    goto LAB_00048066;
  case 0xd:
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x18:
  case 0x19:
  case 0x1a:
  case 0x1b:
    var_10 = (-(type_5)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;
    break;
  case 0x14:
  case 0x1c:
    if (0x18 < stdoutput->arch_info->mach) {
      var_10 = 0xfffffff6;
      goto LAB_00048066;
    }
    var_10 = 10;
    break;
  case 0x16:
  case 0x17:
  case 0x1e:
  case 0x1f:
    var_10 = (-(type_5)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;
LAB_00048066:
    var_8 = var_12->fx_addsy;
    if (var_8 == (type_7 *)0x0) goto LAB_00048670;
    goto LAB_00048071;
  case 0x20:
  case 0x21:
  case 0x22:
  case 0x23:
  case 0x27:
  case 0x28:
  case 0x29:
  case 0x2a:
  case 0x2b:
  case 0x2f:
  case 0x30:
  case 0x31:
  case 0x32:
  case 0x33:
  case 0x3b:
    var_10 = 0xc;
    break;
  case 0x24:
  case 0x25:
  case 0x2c:
  case 0x2d:
    var_8 = var_12->fx_addsy;
    var_10 = 0xb;
    if (var_8 != (type_7 *)0x0) goto LAB_00048253;
    var_1 = var_12->fx_r_type;
joined_r0x00048a45:
    if (var_1 == var_9) goto LAB_00048253;
    goto LAB_0004887b;
  case 0x38:
  case 0x39:
    var_10 = 0x11;
LAB_00047f58:
    var_8 = var_12->fx_addsy;
    if (var_8 == (type_7 *)0x0) {
      var_1 = var_12->fx_r_type;
      goto joined_r0x00048a45;
    }
    if (var_10 == 0x11) goto LAB_00047f6e;
    if (var_10 != 0x16) goto LAB_00047ff3;
    var_23 = 8;
    goto LAB_00048094;
  case 0x3a:
    if ((var_11 & 0x8000) != 0) {
      var_10 = 0x16;
      goto LAB_00047f58;
    }
    var_10 = 0x11;
  }
  var_8 = var_12->fx_addsy;
  if (var_8 != (type_7 *)0x0) {
    var_23 = 0;
    var_22 = 0;
    if ((0x421000U >> (var_10 & 0x1f) & 1) == 0) goto _L800;
LAB_00047fd9:
    if ((var_10 != 0x11) && (var_10 != 0xc)) {
      var_23 = 8;
      goto LAB_00048081;
    }
    if (var_8 == (type_7 *)0x0) {
LAB_00047ff3:
      var_23 = 8;
      var_22 = 0;
      goto _L800;
    }
LAB_00047f6e:
    var_23 = 8;
    var_22 = 0;
    if ((type_10  [72])((type_10  [72])*var_12 & (type_10  [72])0x1) == (type_10  [72])0x0
       ) goto _L800;
    var_14 = *(int *)((int)var_13 + 4);
    var_15 = (type_5)*var_13;
    var_16 = var_14 + (type_5)(0xffffe007 < var_15);
    if (var_16 == 0 && (type_5)(0x3fff < var_15 + 0x1ff8) <= (type_5)-var_16) goto LAB_000489d0;
    if (var_10 != 0x11) {
      if (var_10 != 0x16) goto _L800;
      goto LAB_000480dd;
    }
    var_16 = var_14 + (type_5)(0xfffc0007 < var_15);
    if (var_16 == 0 && (type_5)(0x7ffff < var_15 + 0x3fff8) <= (type_5)-var_16) {
      var_16 = var_17(var_8);
      if ((var_16 == 0) && (var_16 = var_18(var_12->fx_addsy), var_16 == 0)) goto LAB_0004872d;
      var_14 = *(int *)((int)var_13 + 4);
      var_15 = (type_5)*var_13;
    }
    var_1 = var_12->fx_r_type;
    if (((var_1 == var_19) && ((var_7 & 0xffe00000) == 0xe8000000)) &&
       (var_14 = var_14 + (type_5)(0xfffc0007 < var_15),
       var_14 != 0 || (type_5)-var_14 < (type_5)(0x7ffff < var_15 + 0x3fff8))) {
      format = (char *)var_4(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x3ffff;
      uVar10 = 0xfffc0000;
      var_24 = var_15 - 8;
      goto LAB_00048a23;
    }
    var_23 = var_7 & 0xffe0e002;
    goto LAB_000481c0;
  }
LAB_00048670:
  if (var_12->fx_r_type == var_9) {
    var_8 = (type_7 *)0x0;
    if (var_10 < 0x17) {
LAB_00048253:
      var_23 = 0;
      if ((0x421000U >> (var_10 & 0x1f) & 1) != 0) goto LAB_00047fd9;
    }
    else {
LAB_00048071:
      var_23 = 0;
    }
LAB_00048081:
    var_22 = 0;
    if (var_10 != 0x16) goto _L800;
    if (var_8 == (type_7 *)0x0) goto _L857;
LAB_00048094:
    var_22 = 0;
    if ((type_10  [72])((type_10  [72])*var_12 & (type_10  [72])0x1) == (type_10  [72])0x0
       ) goto _L857;
    var_14 = *(int *)((int)var_13 + 4);
    var_15 = (type_5)*var_13;
    var_16 = var_14 + (type_5)(0xffffe007 < var_15);
    var_10 = 0x16;
    if (var_16 == 0 && (type_5)(0x3fff < var_15 + 0x1ff8) <= (type_5)-var_16) {
LAB_000489d0:
      var_22 = 0;
      var_16 = var_17(var_8);
      if ((var_16 != 0) || (var_16 = var_18(var_12->fx_addsy), var_16 != 0)) goto _L800;
LAB_0004872d:
      var_22 = 0;
      var_21 = var_20(var_12->fx_addsy);
      if ((var_21 == (type_3)var_3[4]) &&
         ((var_12->fx_subsy == (type_7 *)0x0 ||
          (var_21 = var_20(var_12->fx_subsy), var_21 == (type_3)var_3[4])))) {
        var_23 = (type_5)*var_13;
        var_22 = *(int *)((int)var_13 + 4);
        switch(*var_3) {
        case 0:
          break;
        case 1:
          var_22 = var_22 + (type_5)(0xfffffbff < var_23);
          var_23 = var_23 + 0x400 >> 0xb | var_22 * 0x200000;
          var_22 = var_22 >> 0xb;
          break;
        case 2:
          var_24 = (type_5)((type_11)var_23 & 0x7ff ^ 0x400);
          var_23 = var_24 - 0x400;
          var_22 = (0x3ff < var_24) - 1;
          break;
        case 3:
        case 7:
        case 10:
        case 0xb:
          var_23 = var_23 >> 0xb | var_22 << 0x15;
          var_22 = var_22 >> 0xb;
          break;
        case 4:
          var_22 = 0;
          var_23 = var_23 & 0x7ff;
          break;
        case 5:
          var_22 = var_22 + (type_5)(0xfffff7ff < var_23);
          var_23 = var_23 + 0x800 >> 0xb | var_22 * 0x200000;
          var_22 = var_22 >> 0xb;
          break;
        case 6:
          var_22 = -1;
          var_23 = var_23 | 0xfffff800;
          break;
        case 8:
          var_23 = var_23 & 0x7ff;
          var_22 = 0;
          break;
        case 9:
          var_23 = 0;
          var_22 = 0;
          break;
        default:
switchD_00048784_caseD_c:
                    /* WARNING: Subroutine does not return */
          var_25("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");
        }
      }
      goto _L800;
    }
LAB_000480dd:
    var_22 = 0;
    var_16 = var_14 + (type_5)(0xff800007 < var_15);
    if (var_16 == 0 && (type_5)(0xffffff < var_15 + 0x7ffff8) <= (type_5)-var_16) {
      var_16 = var_17(var_8);
      if ((var_16 != 0) || (var_16 = var_18(var_12->fx_addsy), var_16 != 0)) goto _L857;
      goto LAB_0004872d;
    }
LAB_0004812d:
    var_1 = var_12->fx_r_type;
    if (((var_1 == var_19) && ((var_7 & 0xffe00000) == 0xe8000000)) &&
       (var_14 = var_14 + (type_5)(0xff800007 < var_15),
       var_14 != 0 || (type_5)-var_14 < (type_5)(0xffffff < var_15 + 0x7ffff8))) {
      format = (char *)var_4(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x7fffff;
      uVar10 = 0xff800000;
      var_24 = var_15 - 8;
    }
    else {
      var_24 = var_23 - 8;
      var_22 = var_22 + (type_5)(0xff800007 < var_23);
      if (var_22 == 0 && (type_5)(0xffffff < var_23 + 0x7ffff8) <= (type_5)-var_22) {
        var_26 = ((int)var_24 >> 2) << 5;
        var_23 = ((int)var_24 >> 2) * 8 & 0x1ff8U |
                   (int)var_24 >> 10 & 4U | (int)var_24 >> 0x17 & 1U | var_7 & 0xfc00e002 |
                   var_26 & 0x3e00000 | var_26 & 0x1f0000;
        goto LAB_000481c0;
      }
      format = (char *)var_4(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x7fffff;
      uVar10 = 0xff800000;
    }
LAB_00048a23:
    var_5(var_12->fx_file,var_12->fx_line,format,uVar10,uVar11,var_24);
    var_1 = var_12->fx_r_type;
    var_23 = var_7;
    goto LAB_000481c0;
  }
LAB_0004887b:
  var_23 = (type_5)*var_13;
  var_22 = *(int *)((int)var_13 + 4);
  switch(*var_3) {
  case 0:
    if ((var_10 == 0x11) || (var_10 == 0xc)) goto _L800;
    goto LAB_000488ce;
  case 1:
    var_22 = var_22 + (type_5)(0xfffffbff < var_23);
    var_23 = var_23 + 0x400 >> 0xb | var_22 * 0x200000;
    var_22 = var_22 >> 0xb;
    break;
  case 2:
    var_24 = (type_5)((type_11)var_23 & 0x7ff ^ 0x400);
    var_23 = var_24 - 0x400;
    var_22 = (0x3ff < var_24) - 1;
    break;
  case 3:
  case 7:
  case 10:
  case 0xb:
    var_23 = var_23 >> 0xb | var_22 << 0x15;
    var_22 = var_22 >> 0xb;
    break;
  case 4:
    var_22 = 0;
    var_23 = var_23 & 0x7ff;
    break;
  case 5:
    var_22 = var_22 + (type_5)(0xfffff7ff < var_23);
    var_23 = var_23 + 0x800 >> 0xb | var_22 * 0x200000;
    var_22 = var_22 >> 0xb;
    break;
  case 6:
    var_22 = -1;
    var_23 = var_23 | 0xfffff800;
    break;
  case 8:
    var_23 = var_23 & 0x7ff;
    var_22 = 0;
    break;
  case 9:
    var_23 = 0;
    var_22 = 0;
    break;
  default:
    goto switchD_00048784_caseD_c;
  }
  if ((var_10 != 0xc) && (var_10 != 0x11)) {
LAB_000488ce:
    if (var_10 != 0x16) goto _L800;
_L857:
    var_14 = *(int *)((int)var_13 + 4);
    var_15 = (type_5)*var_13;
    goto LAB_0004812d;
  }
_L800:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(var_10) {
  case 10:
    var_22 = var_22 + (type_5)(0xffffdfff < var_23);
    if (var_22 != 0 || (type_5)-var_22 < (type_5)(0x3fff < var_23 + 0x2000)) goto LAB_00048a00;
    var_7 = var_7 & 0xffffc00e;
    var_24 = var_23 * 2 & 0x3ff0;
LAB_00048451:
    var_1 = var_12->fx_r_type;
    var_23 = var_24 | (int)var_23 >> 0xd & 1U | var_7;
    break;
  case 0xc:
    var_24 = var_23 - 8;
    var_22 = var_22 + (type_5)(0xffffe007 < var_23);
    if (var_22 != 0 || (type_5)-var_22 < (type_5)(0x3fff < var_23 + 0x1ff8)) {
      format = (char *)var_4(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x1fff;
      uVar10 = 0xffffe000;
      goto LAB_00048a23;
    }
    var_1 = var_12->fx_r_type;
    var_23 = var_24 * 2 & 0x1ff8 |
               (int)var_24 >> 10 & 4U | (int)var_24 >> 0xd & 1U | var_7 & 0xffffe002;
    break;
  case 0xe:
    var_22 = var_22 + (type_5)(0xffffdfff < var_23);
    if (var_22 == 0 && (type_5)(0x3fff < var_23 + 0x2000) <= (type_5)-var_22) {
      var_7 = var_7 & 0xffffc000;
      var_24 = var_23 * 2 & 0x3ffe;
      goto LAB_00048451;
    }
LAB_00048a00:
    format = (char *)var_4(0,"Field out of range [%d..%d] (%d).",5);
    uVar11 = 0x1fff;
    uVar10 = 0xffffe000;
    var_24 = var_23;
    goto LAB_00048a23;
  case 0x10:
    var_24 = var_23 & 0x8000;
    var_1 = var_12->fx_r_type;
    var_23 = (int)var_24 >> 1 ^ var_23 * 2 & 0xffff ^ var_24 |
               var_7 & 0xffff0000 | (int)var_24 >> 0xf;
    break;
  case 0x16:
    goto _L857;
  case 0x20:
    var_1 = var_12->fx_r_type;
    break;
  case 0xfffffff0:
    var_24 = var_23 * 2 & 0xfff8;
    var_7 = var_7 & 0xffff0006 | (int)(var_23 & 0x8000) >> 0xf;
    goto LAB_00048512;
  default:
    pcVar3 = (char *)var_4(0,"Unknown relocation encountered in md_apply_fix.",5);
    var_5(var_12->fx_file,var_12->fx_line,pcVar3);
    return;
  case 0xfffffff6:
    var_24 = var_23 * 2 & 0xfff0;
    var_7 = var_7 & 0xffff000e | (int)(var_23 & 0x8000) >> 0xf;
LAB_00048512:
    var_1 = var_12->fx_r_type;
    var_23 = var_23 & 0x8000 ^ var_24 ^ (int)(var_23 & 0x8000) >> 1 | var_7;
  }
LAB_000481c0:
  if (var_1 != var_27) {
    if (var_1 < var_28) {
      if ((var_1 != var_29) &&
         ((var_1 != var_30 && (var_1 != var_31)))) goto LAB_000481f6;
    }
    else if ((var_1 < var_32) ||
            ((var_33 < var_1 && (1 < var_1 - var_34))))
    goto LAB_000481f6;
  }
  if (var_12->fx_addsy != (type_7 *)0x0) {
    var_35(var_12->fx_addsy);
  }
LAB_000481f6:
                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*stdoutput->xvec->bfd_putx32)((type_12)(int)var_23,pcVar3);
  return;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x00048bcf) */

void MASKED(byte *param_1,uint *param_2)

{
  undefined4 *puVar1;
  uint uVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  int iVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  uint local_44;
  uint local_34;
  uint local_30;
  uint local_2c;
  uint local_28;
  
  iVar3 = *(int *)(param_1 + 0x30);
  if (iVar3 - 0xe8U < 2) {
    return;
  }
  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {
    *param_1 = *param_1 | 0x20;
  }
  puVar1 = *(undefined4 **)(param_1 + 0x44);
  if (puVar1 == (undefined4 *)0x0) {
    uVar5 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);
    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,iVar3);
    return;
  }
  iVar3 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);
  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {
    FUN_00043da0(iVar3,*param_2,param_2[1],param_1[2]);
    return;
  }
  uVar2 = (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x28))(iVar3);
  switch(uVar2 >> 0x1a) {
  case 8:
  case 10:
    local_44 = 0x15;
    break;
  default:
    local_44 = 0x20;
    goto LAB_00048066;
  case 0xd:
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x18:
  case 0x19:
  case 0x1a:
  case 0x1b:
    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 0xfffffffe) + 0x10
    ;
    break;
  case 0x14:
  case 0x1c:
    if (0x18 < *(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10)) {
      local_44 = 0xfffffff6;
      goto LAB_00048066;
    }
    local_44 = 10;
    break;
  case 0x16:
  case 0x17:
  case 0x1e:
  case 0x1f:
    local_44 = (-(uint)(*(uint *)(*(int *)(DAT_00088f24 + 0x84) + 0x10) < 0x19) & 5) - 0x10;
LAB_00048066:
    iVar3 = *(int *)(param_1 + 0xc);
    if (iVar3 == 0) goto LAB_00048670;
    goto LAB_00048071;
  case 0x20:
  case 0x21:
  case 0x22:
  case 0x23:
  case 0x27:
  case 0x28:
  case 0x29:
  case 0x2a:
  case 0x2b:
  case 0x2f:
  case 0x30:
  case 0x31:
  case 0x32:
  case 0x33:
  case 0x3b:
    local_44 = 0xc;
    break;
  case 0x24:
  case 0x25:
  case 0x2c:
  case 0x2d:
    iVar3 = *(int *)(param_1 + 0xc);
    local_44 = 0xb;
    if (iVar3 != 0) goto LAB_00048253;
    iVar6 = *(int *)(param_1 + 0x30);
joined_r0x00048a45:
    if (iVar6 == 0) goto LAB_00048253;
    goto LAB_0004887b;
  case 0x38:
  case 0x39:
    local_44 = 0x11;
code_r0x00047f58:
    iVar3 = *(int *)(param_1 + 0xc);
    if (iVar3 == 0) {
      iVar6 = *(int *)(param_1 + 0x30);
      goto joined_r0x00048a45;
    }
    if (local_44 == 0x11) goto LAB_00047f6e;
    if (local_44 != 0x16) goto code_r0x00047ff3;
    local_34 = 8;
    goto code_r0x00048094;
  case 0x3a:
    if ((uVar2 & 0x8000) != 0) {
      local_44 = 0x16;
      goto code_r0x00047f58;
    }
    local_44 = 0x11;
  }
  iVar3 = *(int *)(param_1 + 0xc);
  if (iVar3 != 0) {
    local_34 = 0;
    local_30 = 0;
    if ((0x421000U >> (local_44 & 0x1f) & 1) == 0) goto LAB_00047f87;
LAB_00047fd9:
    if ((local_44 != 0x11) && (local_44 != 0xc)) {
      local_34 = 8;
      goto LAB_00048081;
    }
    if (iVar3 == 0) {
code_r0x00047ff3:
      local_34 = 8;
      local_30 = 0;
      goto LAB_00047f87;
    }
LAB_00047f6e:
    local_34 = 8;
    local_30 = 0;
    if ((*param_1 & 1) == 0) goto LAB_00047f87;
    local_28 = param_2[1];
    local_2c = *param_2;
    iVar6 = local_28 + (0xffffe007 < local_2c);
    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) goto LAB_000489d0;
    if (local_44 != 0x11) {
      if (local_44 != 0x16) goto LAB_00047f87;
      goto LAB_000480dd;
    }
    iVar6 = local_28 + (0xfffc0007 < local_2c);
    if (iVar6 == 0 && (uint)(0x7ffff < local_2c + 0x3fff8) <= (uint)-iVar6) {
      iVar3 = FUN_0003aef0(iVar3);
      if ((iVar3 == 0) && (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 == 0))
      goto LAB_0004872d;
      local_28 = param_2[1];
      local_2c = *param_2;
    }
    uVar4 = *(uint *)(param_1 + 0x30);
    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&
       (iVar3 = local_28 + (0xfffc0007 < local_2c),
       iVar3 != 0 || (uint)-iVar3 < (uint)(0x7ffff < local_2c + 0x3fff8))) {
      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x3ffff;
      uVar7 = 0xfffc0000;
      uVar2 = local_2c - 8;
      goto LAB_00048a23;
    }
    goto LAB_000481c0;
  }
LAB_00048670:
  if (*(int *)(param_1 + 0x30) == 0) {
    iVar3 = 0;
    if (local_44 < 0x17) {
LAB_00048253:
      local_34 = 0;
      if ((0x421000U >> (local_44 & 0x1f) & 1) != 0) goto LAB_00047fd9;
    }
    else {
LAB_00048071:
      local_34 = 0;
    }
LAB_00048081:
    local_30 = 0;
    if (local_44 != 0x16) goto LAB_00047f87;
    if (iVar3 == 0) goto LAB_0004811d;
code_r0x00048094:
    local_30 = 0;
    if ((*param_1 & 1) == 0) goto LAB_0004811d;
    local_28 = param_2[1];
    local_2c = *param_2;
    iVar6 = local_28 + (0xffffe007 < local_2c);
    local_44 = 0x16;
    if (iVar6 == 0 && (uint)(0x3fff < local_2c + 0x1ff8) <= (uint)-iVar6) {
LAB_000489d0:
      local_30 = 0;
      iVar3 = FUN_0003aef0(iVar3);
      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))
      goto LAB_00047f87;
LAB_0004872d:
      local_30 = 0;
      iVar3 = FUN_0003b4a0(*(undefined4 *)(param_1 + 0xc));
      if ((iVar3 == puVar1[4]) &&
         ((*(int *)(param_1 + 0x10) == 0 ||
          (iVar3 = FUN_0003b4a0(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {
        local_34 = *param_2;
        local_30 = param_2[1];
        switch(*puVar1) {
        case 0:
          break;
        case 1:
          iVar3 = local_30 + (0xfffffbff < local_34);
          local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;
          local_30 = iVar3 >> 0xb;
          break;
        case 2:
          uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);
          local_34 = uVar4 - 0x400;
          local_30 = (0x3ff < uVar4) - 1;
          break;
        case 3:
        case 7:
        case 10:
        case 0xb:
          local_34 = local_34 >> 0xb | local_30 << 0x15;
          local_30 = (int)local_30 >> 0xb;
          break;
        case 4:
          local_30 = 0;
          local_34 = local_34 & 0x7ff;
          break;
        case 5:
          iVar3 = local_30 + (0xfffff7ff < local_34);
          local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;
          local_30 = iVar3 >> 0xb;
          break;
        case 6:
          local_30 = 0xffffffff;
          local_34 = local_34 | 0xfffff800;
          break;
        case 8:
          local_34 = local_34 & 0x7ff;
          local_30 = 0;
          break;
        case 9:
          local_34 = 0;
          local_30 = 0;
          break;
        default:
LAB_00048c4c:
                    /* WARNING: Subroutine does not return */
          FUN_0002edb0("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",param_1);
        }
      }
      goto LAB_00047f87;
    }
LAB_000480dd:
    local_30 = 0;
    iVar6 = local_28 + (0xff800007 < local_2c);
    if (iVar6 == 0 && (uint)(0xffffff < local_2c + 0x7ffff8) <= (uint)-iVar6) {
      iVar3 = FUN_0003aef0(iVar3);
      if ((iVar3 != 0) || (iVar3 = FUN_0003af60(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))
      goto LAB_0004811d;
      goto LAB_0004872d;
    }
LAB_0004812d:
    uVar4 = *(uint *)(param_1 + 0x30);
    if (((uVar4 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) &&
       (iVar3 = local_28 + (0xff800007 < local_2c),
       iVar3 != 0 || (uint)-iVar3 < (uint)(0xffffff < local_2c + 0x7ffff8))) {
      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x7fffff;
      uVar7 = 0xff800000;
      uVar2 = local_2c - 8;
    }
    else {
      iVar3 = local_30 + (0xff800007 < local_34);
      if (iVar3 == 0 && (uint)(0xffffff < local_34 + 0x7ffff8) <= (uint)-iVar3) goto LAB_000481c0;
      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x7fffff;
      uVar7 = 0xff800000;
      uVar2 = local_34 - 8;
    }
LAB_00048a23:
    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar7,uVar8,
                 uVar2);
    uVar4 = *(uint *)(param_1 + 0x30);
    goto LAB_000481c0;
  }
LAB_0004887b:
  local_34 = *param_2;
  local_30 = param_2[1];
  switch(*puVar1) {
  case 0:
    if ((local_44 == 0x11) || (local_44 == 0xc)) goto LAB_00047f87;
    goto code_r0x000488ce;
  case 1:
    iVar3 = local_30 + (0xfffffbff < local_34);
    local_34 = local_34 + 0x400 >> 0xb | iVar3 * 0x200000;
    local_30 = iVar3 >> 0xb;
    break;
  case 2:
    uVar4 = (uint)((ushort)local_34 & 0x7ff ^ 0x400);
    local_34 = uVar4 - 0x400;
    local_30 = (0x3ff < uVar4) - 1;
    break;
  case 3:
  case 7:
  case 10:
  case 0xb:
    local_34 = local_34 >> 0xb | local_30 << 0x15;
    local_30 = (int)local_30 >> 0xb;
    break;
  case 4:
    local_30 = 0;
    local_34 = local_34 & 0x7ff;
    break;
  case 5:
    iVar3 = local_30 + (0xfffff7ff < local_34);
    local_34 = local_34 + 0x800 >> 0xb | iVar3 * 0x200000;
    local_30 = iVar3 >> 0xb;
    break;
  case 6:
    local_30 = 0xffffffff;
    local_34 = local_34 | 0xfffff800;
    break;
  case 8:
    local_34 = local_34 & 0x7ff;
    local_30 = 0;
    break;
  case 9:
    local_34 = 0;
    local_30 = 0;
    break;
  default:
    goto LAB_00048c4c;
  }
  if ((local_44 != 0xc) && (local_44 != 0x11)) {
code_r0x000488ce:
    if (local_44 != 0x16) goto LAB_00047f87;
LAB_0004811d:
    local_28 = param_2[1];
    local_2c = *param_2;
    goto LAB_0004812d;
  }
LAB_00047f87:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(local_44) {
  case 10:
    iVar3 = local_30 + (0xffffdfff < local_34);
    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x2000)) goto code_r0x00048a00;
code_r0x000483f8:
    uVar4 = *(uint *)(param_1 + 0x30);
    break;
  case 0xc:
    uVar2 = local_34 - 8;
    iVar3 = local_30 + (0xffffe007 < local_34);
    if (iVar3 != 0 || (uint)-iVar3 < (uint)(0x3fff < local_34 + 0x1ff8)) {
      uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x1fff;
      uVar7 = 0xffffe000;
      goto LAB_00048a23;
    }
    uVar4 = *(uint *)(param_1 + 0x30);
    break;
  case 0xe:
    iVar3 = local_30 + (0xffffdfff < local_34);
    if (iVar3 == 0 && (uint)(0x3fff < local_34 + 0x2000) <= (uint)-iVar3) goto code_r0x000483f8;
code_r0x00048a00:
    uVar5 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
    uVar8 = 0x1fff;
    uVar7 = 0xffffe000;
    uVar2 = local_34;
    goto LAB_00048a23;
  case 0x10:
    uVar4 = *(uint *)(param_1 + 0x30);
    break;
  case 0x16:
    goto LAB_0004811d;
  case 0x20:
    uVar4 = *(uint *)(param_1 + 0x30);
    break;
  case 0xfffffff0:
    goto code_r0x00048512;
  default:
    uVar5 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);
    FUN_0002ece0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5);
    return;
  case 0xfffffff6:
code_r0x00048512:
    uVar4 = *(uint *)(param_1 + 0x30);
  }
LAB_000481c0:
  if (uVar4 != 0xa6) {
    if (uVar4 < 0xa7) {
      if ((uVar4 != 0x9e) && ((uVar4 != 0xa2 && (uVar4 != 0x9a)))) goto LAB_000481f6;
    }
    else if ((uVar4 < 0xea) || ((0xeb < uVar4 && (1 < uVar4 - 0xed)))) goto LAB_000481f6;
  }
  if (*(int *)(param_1 + 0xc) != 0) {
    FUN_0003dc90(*(int *)(param_1 + 0xc));
  }
LAB_000481f6:
                    /* WARNING: Could not recover jumptable at 0x0004821c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(code **)(*(int *)(DAT_00088f24 + 4) + 0x30))();
  return;
}

