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

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

{
  undefined4 *puVar1;
  bfd_vma bVar2;
  int iVar3;
  bfd_reloc_code_real_type bVar4;
  char *pcVar5;
  segT paVar6;
  char *format;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  symbolS *local_28;
  uint local_24;
  
  bVar4 = fixP->fx_r_type;
  if (bVar4 - 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) {
    pcVar5 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);
    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5,bVar4);
    return;
  }
  pcVar5 = fixP->fx_frag->fr_literal + fixP->fx_where;
  if ((fixP->fx_size != 4) || (puVar1[2] == 0x20)) {
    number_to_chars_bigendian(pcVar5,*valP,(uint)fixP->fx_size);
    return;
  }
  bVar2 = (*stdoutput->xvec->bfd_getx32)(pcVar5);
  switch(bVar2 >> 0x1a) {
  case 8:
  case 10:
    uVar9 = 0x15;
    break;
  default:
    uVar9 = 0x20;
    goto LAB_000454d2;
  case 0xd:
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x18:
  case 0x19:
  case 0x1a:
  case 0x1b:
    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;
    break;
  case 0x14:
  case 0x1c:
    if (0x18 < stdoutput->arch_info->mach) {
      uVar9 = 0xfffffff6;
      goto LAB_000454d2;
    }
    uVar9 = 10;
    break;
  case 0x16:
  case 0x17:
  case 0x1e:
  case 0x1f:
    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;
LAB_000454d2:
    local_28 = fixP->fx_addsy;
    if (local_28 == (symbolS *)0x0) goto LAB_00045898;
    goto LAB_000454e1;
  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:
    uVar9 = 0xc;
    break;
  case 0x24:
  case 0x25:
  case 0x2c:
  case 0x2d:
    local_28 = fixP->fx_addsy;
    uVar9 = 0xb;
    if (local_28 != (symbolS *)0x0) goto LAB_00045654;
    bVar4 = fixP->fx_r_type;
joined_r0x00045c85:
    if (bVar4 == _dummy_first_bfd_reloc_code_real) goto LAB_00045654;
    goto LAB_00045b1b;
  case 0x38:
  case 0x39:
    uVar9 = 0x11;
LAB_00045405:
    local_28 = fixP->fx_addsy;
    if (local_28 == (symbolS *)0x0) {
      bVar4 = fixP->fx_r_type;
      goto joined_r0x00045c85;
    }
    if (uVar9 == 0x11) goto LAB_0004541d;
    if (uVar9 != 0x16) goto LAB_0004547e;
    uVar7 = 8;
    goto LAB_000454f8;
  case 0x3a:
    uVar9 = 0x11;
    if ((bVar2 & 0x8000) != 0) {
      uVar9 = 0x16;
      goto LAB_00045405;
    }
  }
  local_28 = fixP->fx_addsy;
  if (local_28 != (symbolS *)0x0) {
    uVar7 = 0;
    if ((0x421000U >> (uVar9 & 0x1f) & 1) == 0) goto _L799;
LAB_00045468:
    if ((uVar9 != 0x11) && (uVar9 != 0xc)) {
      uVar7 = 8;
      goto LAB_000454e3;
    }
    if (local_28 == (symbolS *)0x0) {
LAB_0004547e:
      uVar7 = 8;
      goto _L799;
    }
LAB_0004541d:
    uVar7 = 8;
    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0
       ) goto _L799;
    local_24 = *valP;
    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;
    if (uVar9 != 0x11) {
      if (uVar9 != 0x16) goto _L799;
      goto LAB_0004551e;
    }
    if (local_24 + 0x3fff8 < 0x80000) {
      iVar3 = S_IS_EXTERNAL(local_28);
      if (iVar3 == 0) {
        iVar3 = S_IS_WEAK(fixP->fx_addsy);
        uVar7 = 8;
        if (iVar3 == 0) goto LAB_00045a2c;
      }
      local_24 = *valP;
    }
    bVar4 = fixP->fx_r_type;
    if (((bVar4 != BFD_RELOC_24_PCREL) || ((bVar2 & 0xffe00000) != 0xe8000000)) ||
       (local_24 + 0x3fff8 < 0x80000)) {
      uVar9 = bVar2 & 0xffe0e002;
      iVar3 = 0;
      uVar7 = 0;
      goto LAB_000455b7;
    }
    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);
    uVar7 = local_24 - 8;
    uVar11 = 0x3ffff;
    uVar10 = 0xfffc0000;
LAB_00045c5c:
    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar7);
    bVar4 = fixP->fx_r_type;
    uVar7 = bVar2;
    goto LAB_000455d0;
  }
LAB_00045898:
  if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {
    local_28 = (symbolS *)0x0;
    if (uVar9 < 0x17) {
LAB_00045654:
      uVar7 = 0;
      if ((0x421000U >> (uVar9 & 0x1f) & 1) != 0) goto LAB_00045468;
    }
    else {
LAB_000454e1:
      uVar7 = 0;
    }
LAB_000454e3:
    if (uVar9 != 0x16) goto _L799;
    if (local_28 == (symbolS *)0x0) {
      local_28 = (symbolS *)*valP;
      goto LAB_00045b61;
    }
LAB_000454f8:
    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0
       ) goto _L918;
    local_24 = *valP;
    uVar9 = 0x16;
    if (local_24 + 0x1ff8 < 0x4000) {
LAB_00045bd8:
      iVar3 = S_IS_EXTERNAL(local_28);
      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L799;
LAB_00045a2c:
      paVar6 = S_GET_SEGMENT(fixP->fx_addsy);
      if ((paVar6 == (segT)puVar1[4]) &&
         ((fixP->fx_subsy == (symbolS *)0x0 ||
          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))) {
        uVar7 = *valP;
        switch(*puVar1) {
        case 0:
          break;
        case 1:
          uVar7 = (int)(uVar7 + 0x400) >> 0xb;
          break;
        case 2:
          uVar7 = (int)(uVar7 << 0x15) >> 0x15;
          break;
        case 3:
        case 7:
        case 10:
        case 0xb:
          uVar7 = (int)uVar7 >> 0xb;
          break;
        case 4:
        case 8:
          uVar7 = uVar7 & 0x7ff;
          break;
        case 5:
          uVar7 = (int)(uVar7 + 0x800) >> 0xb;
          break;
        case 6:
          uVar7 = uVar7 | 0xfffff800;
          break;
        case 9:
          uVar7 = 0;
          break;
        default:
switchD_00045aa1_caseD_c:
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");
        }
      }
      goto _L799;
    }
LAB_0004551e:
    if (local_24 + 0x7ffff8 < 0x1000000) {
      iVar3 = S_IS_EXTERNAL(local_28);
      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L918;
      goto LAB_00045a2c;
    }
LAB_00045560:
    bVar4 = fixP->fx_r_type;
    if (((bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000)) &&
       (0xffffff < local_24 + 0x7ffff8)) {
      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar7 = local_24 - 8;
      uVar11 = 0x7fffff;
      uVar10 = 0xff800000;
    }
    else {
      uVar9 = uVar7 - 8;
      if (uVar7 + 0x7ffff8 < 0x1000000) {
        iVar3 = (int)uVar9 >> 2;
        uVar7 = iVar3 << 5;
        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |
                uVar7 & 0x3e00000;
LAB_000455b7:
        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;
        goto LAB_000455d0;
      }
      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x7fffff;
      uVar10 = 0xff800000;
      uVar7 = uVar9;
    }
    goto LAB_00045c5c;
  }
LAB_00045b1b:
  local_28 = (symbolS *)*valP;
  switch(*puVar1) {
  case 0:
    uVar7 = (uint)local_28;
    if ((uVar9 == 0xc) || (uVar9 == 0x11)) goto _L799;
    goto LAB_00045b58;
  case 1:
    uVar7 = (int)((int)local_28 + 0x400U) >> 0xb;
    break;
  case 2:
    uVar7 = ((int)local_28 << 0x15) >> 0x15;
    break;
  case 3:
  case 7:
  case 10:
  case 0xb:
    uVar7 = (int)local_28 >> 0xb;
    break;
  case 4:
  case 8:
    uVar7 = (uint)local_28 & 0x7ff;
    break;
  case 5:
    uVar7 = (int)((int)local_28 + 0x800U) >> 0xb;
    break;
  case 6:
    uVar7 = (uint)local_28 | 0xfffff800;
    break;
  case 9:
    uVar7 = 0;
    break;
  default:
    goto switchD_00045aa1_caseD_c;
  }
  if ((uVar9 != 0xc) && (uVar9 != 0x11)) {
LAB_00045b58:
    if (uVar9 == 0x16) {
LAB_00045b61:
      local_24 = (uint)local_28;
      goto LAB_00045560;
    }
  }
_L799:
  if (0x30 < uVar9 + 0x10) {
_L820:
    pcVar5 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);
    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5);
    return;
  }
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(uVar9) {
  case 10:
    if (0x3fff < uVar7 + 0x2000) {
LAB_00045c30:
      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x1fff;
      uVar10 = 0xffffe000;
      goto LAB_00045c5c;
    }
    bVar4 = fixP->fx_r_type;
    uVar7 = bVar2 & 0xffffc00e | uVar7 * 2 & 0x3ff0 | (int)uVar7 >> 0xd & 1U;
    break;
  case 0xc:
    uVar9 = uVar7 + 0x1ff8;
    uVar7 = uVar7 - 8;
    if (0x3fff < uVar9) {
      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x1fff;
      uVar10 = 0xffffe000;
      goto LAB_00045c5c;
    }
    bVar4 = fixP->fx_r_type;
    uVar7 = (int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U | bVar2 & 0xffffe002 | uVar7 * 2 & 0x1ff8
    ;
    break;
  case 0xe:
    if (0x3fff < uVar7 + 0x2000) goto LAB_00045c30;
    bVar4 = fixP->fx_r_type;
    uVar7 = bVar2 & 0xffffc000 | (int)uVar7 >> 0xd & 1U | uVar7 * 2 & 0x3ffe;
    break;
  case 0x10:
    uVar8 = uVar7 * 2 & 0xffff;
    uVar9 = bVar2 & 0xffff0000 | (int)(uVar7 & 0x8000) >> 0xf;
    bVar4 = fixP->fx_r_type;
LAB_000456fa:
    uVar7 = uVar9 | uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000;
    break;
  case 0x16:
_L918:
    local_24 = *valP;
    goto LAB_00045560;
  case 0x20:
    bVar4 = fixP->fx_r_type;
    break;
  case 0xfffffff0:
    uVar9 = uVar7 & 0x8000;
    bVar4 = fixP->fx_r_type;
    uVar7 = bVar2 & 0xffff0006 | (int)uVar9 >> 0xf | uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1 ^ uVar9;
    break;
  default:
    goto _L820;
  case 0xfffffff6:
    uVar8 = uVar7 * 2 & 0xfff0;
    uVar9 = bVar2 & 0xffff000e | (int)(uVar7 & 0x8000) >> 0xf;
    bVar4 = fixP->fx_r_type;
    goto LAB_000456fa;
  }
LAB_000455d0:
  if (bVar4 != BFD_RELOC_ALPHA_LITERAL) {
    if (bVar4 < BFD_RELOC_ALPHA_ELF_LITERAL) {
      if ((bVar4 != BFD_RELOC_SPU_LO16) &&
         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))) goto LAB_00045602;
    }
    else if ((bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||
            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))))
    goto LAB_00045602;
  }
  if (fixP->fx_addsy != (symbolS *)0x0) {
    S_SET_THREAD_LOCAL(fixP->fx_addsy);
  }
LAB_00045602:
                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*stdoutput->xvec->bfd_putx32)(uVar7,pcVar5);
  return;
}



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

void FUN_00045300(byte *param_1,uint *param_2)

{
  undefined4 *puVar1;
  uint uVar2;
  int iVar3;
  undefined4 uVar4;
  uint uVar5;
  uint uVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  uint local_28;
  uint local_24;
  
  iVar3 = *(int *)(param_1 + 0x28);
  if (iVar3 - 0xe8U < 2) {
    return;
  }
  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {
    *param_1 = *param_1 | 0x20;
  }
  puVar1 = *(undefined4 **)(param_1 + 0x38);
  if (puVar1 == (undefined4 *)0x0) {
    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);
    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);
    return;
  }
  iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);
  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {
    FUN_000413d0(iVar3,*param_2,param_1[2]);
    return;
  }
  uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);
  switch(uVar2 >> 0x1a) {
  case 8:
  case 10:
    uVar6 = 0x15;
    break;
  default:
    uVar6 = 0x20;
    goto LAB_000454d2;
  case 0xd:
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x18:
  case 0x19:
  case 0x1a:
  case 0x1b:
    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;
    break;
  case 0x14:
  case 0x1c:
    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {
      uVar6 = 0xfffffff6;
      goto LAB_000454d2;
    }
    uVar6 = 10;
    break;
  case 0x16:
  case 0x17:
  case 0x1e:
  case 0x1f:
    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;
LAB_000454d2:
    local_28 = *(uint *)(param_1 + 0xc);
    if (local_28 == 0) goto LAB_00045898;
    goto LAB_000454e1;
  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:
    uVar6 = 0xc;
    break;
  case 0x24:
  case 0x25:
  case 0x2c:
  case 0x2d:
    local_28 = *(uint *)(param_1 + 0xc);
    uVar6 = 0xb;
    if (local_28 != 0) goto LAB_00045654;
    iVar3 = *(int *)(param_1 + 0x28);
joined_r0x00045c85:
    if (iVar3 == 0) goto LAB_00045654;
    goto LAB_00045b1b;
  case 0x38:
  case 0x39:
    uVar6 = 0x11;
code_r0x00045405:
    local_28 = *(uint *)(param_1 + 0xc);
    if (local_28 == 0) {
      iVar3 = *(int *)(param_1 + 0x28);
      goto joined_r0x00045c85;
    }
    if (uVar6 == 0x11) goto LAB_0004541d;
    if (uVar6 != 0x16) goto code_r0x0004547e;
    uVar5 = 8;
    goto code_r0x000454f8;
  case 0x3a:
    uVar6 = 0x11;
    if ((uVar2 & 0x8000) != 0) {
      uVar6 = 0x16;
      goto code_r0x00045405;
    }
  }
  local_28 = *(uint *)(param_1 + 0xc);
  if (local_28 != 0) {
    uVar5 = 0;
    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;
LAB_00045468:
    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {
      uVar5 = 8;
      goto LAB_000454e3;
    }
    if (local_28 == 0) {
code_r0x0004547e:
      uVar5 = 8;
      goto LAB_0004542b;
    }
LAB_0004541d:
    uVar5 = 8;
    if ((*param_1 & 1) == 0) goto LAB_0004542b;
    local_24 = *param_2;
    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;
    if (uVar6 != 0x11) {
      if (uVar6 != 0x16) goto LAB_0004542b;
      goto LAB_0004551e;
    }
    if (local_24 + 0x3fff8 < 0x80000) {
      iVar3 = FUN_00038fd0(local_28);
      if (iVar3 == 0) {
        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));
        uVar5 = 8;
        if (iVar3 == 0) goto LAB_00045a2c;
      }
      local_24 = *param_2;
    }
    uVar6 = *(uint *)(param_1 + 0x28);
    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {
      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar5 = local_24 - 8;
      uVar8 = 0x3ffff;
      uVar7 = 0xfffc0000;
      goto LAB_00045c5c;
    }
    goto LAB_000455d0;
  }
LAB_00045898:
  if (*(int *)(param_1 + 0x28) == 0) {
    local_28 = 0;
    if (uVar6 < 0x17) {
LAB_00045654:
      uVar5 = 0;
      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;
    }
    else {
LAB_000454e1:
      uVar5 = 0;
    }
LAB_000454e3:
    if (uVar6 != 0x16) goto LAB_0004542b;
    if (local_28 == 0) {
      local_28 = *param_2;
      goto LAB_00045b61;
    }
code_r0x000454f8:
    if ((*param_1 & 1) == 0) goto LAB_00045555;
    local_24 = *param_2;
    uVar6 = 0x16;
    if (local_24 + 0x1ff8 < 0x4000) {
LAB_00045bd8:
      iVar3 = FUN_00038fd0(local_28);
      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))
      goto LAB_0004542b;
LAB_00045a2c:
      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));
      if ((iVar3 == puVar1[4]) &&
         ((*(int *)(param_1 + 0x10) == 0 ||
          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {
        local_28 = *param_2;
        uVar5 = local_28;
        switch(*puVar1) {
        case 0:
          break;
        case 1:
          uVar5 = (int)(local_28 + 0x400) >> 0xb;
          break;
        case 2:
          uVar5 = (int)(local_28 << 0x15) >> 0x15;
          break;
        case 3:
        case 7:
        case 10:
        case 0xb:
          uVar5 = (int)local_28 >> 0xb;
          break;
        case 4:
        case 8:
          uVar5 = local_28 & 0x7ff;
          break;
        case 5:
          uVar5 = (int)(local_28 + 0x800) >> 0xb;
          break;
        case 6:
          uVar5 = local_28 | 0xfffff800;
          break;
        case 9:
          uVar5 = 0;
          break;
        default:
LAB_00045e86:
                    /* WARNING: Subroutine does not return */
          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);
        }
      }
      goto LAB_0004542b;
    }
LAB_0004551e:
    if (local_24 + 0x7ffff8 < 0x1000000) {
      iVar3 = FUN_00038fd0(local_28);
      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))
      goto LAB_00045555;
      goto LAB_00045a2c;
    }
LAB_00045560:
    uVar6 = *(uint *)(param_1 + 0x28);
    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))
    {
      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar5 = local_24 - 8;
      uVar8 = 0x7fffff;
      uVar7 = 0xff800000;
    }
    else {
      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;
      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x7fffff;
      uVar7 = 0xff800000;
      uVar5 = uVar5 - 8;
    }
LAB_00045c5c:
    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,
                 uVar5);
    uVar6 = *(uint *)(param_1 + 0x28);
  }
  else {
LAB_00045b1b:
    local_28 = *param_2;
    switch(*puVar1) {
    case 0:
      uVar5 = local_28;
      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;
      goto code_r0x00045b58;
    case 1:
      uVar5 = (int)(local_28 + 0x400) >> 0xb;
      break;
    case 2:
      uVar5 = (int)(local_28 << 0x15) >> 0x15;
      break;
    case 3:
    case 7:
    case 10:
    case 0xb:
      uVar5 = (int)local_28 >> 0xb;
      break;
    case 4:
    case 8:
      uVar5 = local_28 & 0x7ff;
      break;
    case 5:
      uVar5 = (int)(local_28 + 0x800) >> 0xb;
      break;
    case 6:
      uVar5 = local_28 | 0xfffff800;
      break;
    case 9:
      uVar5 = 0;
      break;
    default:
      goto LAB_00045e86;
    }
    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {
code_r0x00045b58:
      if (uVar6 == 0x16) {
LAB_00045b61:
        local_24 = local_28;
        goto LAB_00045560;
      }
    }
LAB_0004542b:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
    switch(uVar6) {
    case 10:
      if (uVar5 + 0x2000 < 0x4000) {
        uVar6 = *(uint *)(param_1 + 0x28);
        break;
      }
code_r0x00045c30:
      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x1fff;
      uVar7 = 0xffffe000;
      goto LAB_00045c5c;
    case 0xc:
      uVar2 = uVar5 + 0x1ff8;
      uVar5 = uVar5 - 8;
      if (0x3fff < uVar2) {
        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
        uVar8 = 0x1fff;
        uVar7 = 0xffffe000;
        goto LAB_00045c5c;
      }
      uVar6 = *(uint *)(param_1 + 0x28);
      break;
    case 0xe:
      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;
      uVar6 = *(uint *)(param_1 + 0x28);
      break;
    case 0x10:
      uVar6 = *(uint *)(param_1 + 0x28);
      break;
    case 0x16:
LAB_00045555:
      local_24 = *param_2;
      goto LAB_00045560;
    case 0x20:
      uVar6 = *(uint *)(param_1 + 0x28);
      break;
    case 0xfffffff0:
      uVar6 = *(uint *)(param_1 + 0x28);
      break;
    default:
      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);
      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);
      return;
    case 0xfffffff6:
      uVar6 = *(uint *)(param_1 + 0x28);
    }
  }
LAB_000455d0:
  if (uVar6 != 0xa6) {
    if (uVar6 < 0xa7) {
      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;
    }
    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;
  }
  if (*(int *)(param_1 + 0xc) != 0) {
    FUN_0003bae0(*(int *)(param_1 + 0xc));
  }
LAB_00045602:
                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00019010
ADD EBX,0x35cf7
SUB ESP,0x2c
MOV ESI,dword ptr [ESP + 0x40]
MOV EAX,dword ptr [ESP + 0x44]
MOV EDI,dword ptr [ESI + 0x28]
MOV dword ptr [ESP + 0xc],EAX
LEA EAX,[EDI + 0xffffff18]
CMP EAX,0x1
JBE 0x000453b6
MOV EAX,dword ptr [ESI + 0xc]
TEST EAX,EAX
JZ 0x000453c0
MOV EBP,dword ptr [ESI + 0x38]
TEST EBP,EBP
JZ 0x000453d8
MOV EDX,dword ptr [ESI + 0x4]
MOV EAX,dword ptr [ESI + 0x8]
LEA EAX,[EDX + EAX*0x1 + 0x38]
MOV dword ptr [ESP + 0x8],EAX
MOVZX EAX,byte ptr [ESI + 0x2]
CMP AL,0x4
JNZ 0x000453a0
CMP dword ptr [EBP + 0x8],0x20
JZ 0x000453a0
LEA EDI,[EBX + 0x8ec4]
SUB ESP,0xc
MOV EAX,dword ptr [EDI]
MOV dword ptr [ESP + 0x1c],EDI
MOV EAX,dword ptr [EAX + 0x4]
PUSH dword ptr [ESP + 0x14]
CALL dword ptr [EAX + 0x28]
MOV EDX,dword ptr [EDI]
MOV ECX,EAX
SHR EAX,0x1a
ADD ESP,0x10
SUB EAX,0x8
CMP EAX,0x33
JA 0x000458c0
MOV EDI,dword ptr [EBX + EAX*0x4 + 0xfffe1ff8]
ADD EDI,EBX
JMP EDI
SUB ESP,0x4
PUSH EAX
MOV EAX,dword ptr [ESP + 0x14]
PUSH dword ptr [EAX]
PUSH dword ptr [ESP + 0x14]
CALL 0x000413d0
ADD ESP,0x10
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOVZX EAX,byte ptr [ESI]
TEST AL,0x1
JNZ 0x0004533b
OR EAX,0x20
MOV byte ptr [ESI],AL
JMP 0x0004533b
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe1a94]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
PUSH EDI
PUSH EAX
PUSH dword ptr [ESI + 0x34]
PUSH dword ptr [ESI + 0x30]
CALL 0x0002d6b0
ADD ESP,0x20
JMP 0x000453b6
MOV EDX,0x8
TEST byte ptr [ESI],0x1
JNZ 0x000459a8
ADD EDI,0x10
CMP EDI,0x30
JA 0x000458d0
MOV EAX,dword ptr [EBX + EDI*0x4 + 0xfffe20c8]
ADD EAX,EBX
JMP EAX
CMP EDI,0x11
JZ 0x00045476
CMP EDI,0xc
JNZ 0x00045e9f
MOV EAX,dword ptr [ESP + 0x14]
TEST EAX,EAX
JNZ 0x0004541d
MOV EDX,0x8
JMP 0x0004542b
MOV EAX,dword ptr [ESI + 0xc]
MOV dword ptr [ESP + 0x14],EAX
TEST EAX,EAX
JZ 0x00045898
XOR EDX,EDX
CMP EDI,0x16
JNZ 0x0004542b
MOV EDI,dword ptr [ESP + 0x14]
TEST EDI,EDI
JZ 0x00045dcf
TEST byte ptr [ESI],0x1
JZ 0x00045555
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
LEA EDI,[EAX + 0x1ff8]
MOV dword ptr [ESP + 0x18],EAX
CMP EDI,0x3fff
MOV EDI,0x16
JBE 0x00045bd8
MOV EAX,dword ptr [ESP + 0x18]
ADD EAX,0x7ffff8
CMP EAX,0xffffff
JA 0x00045560
MOV dword ptr [ESP + 0x1c],EDX
SUB ESP,0xc
MOV dword ptr [ESP + 0x24],ECX
PUSH dword ptr [ESP + 0x20]
CALL 0x00038fd0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x00045e3e
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x18],EAX
NOP
MOV EAX,dword ptr [ESI + 0x28]
CMP EAX,0xa
JZ 0x00045c90
LEA EDI,[EDX + -0x8]
ADD EDX,0x7ffff8
CMP EDX,0xffffff
JA 0x00045dde
MOV EBP,EDI
AND ECX,0xfc00e002
SAR EBP,0x2
MOV EDX,EBP
SHL EDX,0x5
MOV dword ptr [ESP + 0xc],EDX
MOV EDX,EDI
SAR EDI,0xa
SAR EDX,0x17
AND EDI,0x4
AND EDX,0x1
OR EDI,EDX
OR ECX,EDI
MOV EDI,dword ptr [ESP + 0xc]
MOV EDX,EDI
AND EDX,0x3e00000
OR ECX,EDX
MOV EDX,EDI
AND EDX,0x1f0000
OR ECX,EDX
LEA EDX,[EBP*0x8 + 0x0]
AND EDX,0x1ff8
OR ECX,EDX
NOP
CMP EAX,0xa6
JZ 0x00045980
JA 0x00045960
CMP EAX,0x9e
JZ 0x00045980
CMP EAX,0xa2
JZ 0x00045980
CMP EAX,0x9a
JZ 0x00045980
MOV EAX,dword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x44],EBX
MOV dword ptr [ESP + 0x40],ECX
MOV EAX,dword ptr [EAX + 0x30]
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
JMP EAX
MOV EAX,0x421000
XOR EDX,EDX
BT EAX,EDI
JNC 0x000454e3
JMP 0x00045468
MOV EAX,dword ptr [ESI + 0x28]
TEST EAX,EAX
JNZ 0x00045b1b
MOV dword ptr [ESP + 0x14],0x0
CMP EDI,0x16
JA 0x000454e1
JMP 0x00045654
MOV EDI,0x20
JMP 0x000454d2
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe1ae0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
ADD ESP,0xc
PUSH EAX
PUSH dword ptr [ESI + 0x34]
PUSH dword ptr [ESI + 0x30]
CALL 0x0002d6b0
ADD ESP,0x10
JMP 0x000453b6
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESI + 0x28]
CMP EAX,0xa
JZ 0x00045cea
LEA EDI,[EDX + -0x8]
ADD EDX,0x3fff8
CMP EDX,0x7ffff
JA 0x00045e07
MOV EDX,EDI
MOV EBP,EDI
SAR EDI,0xa
AND ECX,0xffe0e002
SAR EDX,0x12
AND EDI,0x4
SAR EBP,0x2
AND EDX,0x1
OR EDI,EDX
MOV EDX,ECX
MOV ECX,EDI
OR ECX,EDX
MOV EDX,EBP
SHL EDX,0x5
JMP 0x000455b7
CMP EAX,0xea
JC 0x00045602
CMP EAX,0xeb
JBE 0x00045980
SUB EAX,0xed
CMP EAX,0x1
JA 0x00045602
MOV EAX,dword ptr [ESI + 0xc]
TEST EAX,EAX
JZ 0x00045602
MOV dword ptr [ESP + 0xc],ECX
SUB ESP,0xc
PUSH EAX
CALL 0x0003bae0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0xc]
JMP 0x00045602
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x18],EAX
ADD EAX,0x1ff8
CMP EAX,0x3fff
JBE 0x00045bd8
CMP EDI,0x11
JNZ 0x00045e30
MOV EAX,dword ptr [ESP + 0x18]
ADD EAX,0x3fff8
CMP EAX,0x7ffff
JA 0x0004590a
MOV dword ptr [ESP + 0x1c],EDX
SUB ESP,0xc
MOV dword ptr [ESP + 0x24],ECX
PUSH dword ptr [ESP + 0x20]
CALL 0x00038fd0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JNZ 0x00045900
MOV dword ptr [ESP + 0x18],EDX
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],ECX
PUSH dword ptr [ESI + 0xc]
CALL 0x00039040
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JNZ 0x00045900
MOV dword ptr [ESP + 0x18],EDX
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],ECX
PUSH dword ptr [ESI + 0xc]
CALL 0x00039580
ADD ESP,0x10
CMP EAX,dword ptr [EBP + 0x10]
MOV ECX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [ESP + 0x18]
JNZ 0x0004542b
MOV EAX,dword ptr [ESI + 0x10]
TEST EAX,EAX
JZ 0x00045a7f
MOV dword ptr [ESP + 0x18],EDX
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],ECX
PUSH EAX
CALL 0x00039580
ADD ESP,0x10
CMP EAX,dword ptr [EBP + 0x10]
MOV ECX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [ESP + 0x18]
JNZ 0x0004542b
MOV EAX,dword ptr [ESP + 0xc]
CMP dword ptr [EBP],0xb
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x14],EAX
MOV EDX,EAX
JA 0x00045e86
MOV EBP,dword ptr [EBP]
MOV EAX,dword ptr [EBX + EBP*0x4 + 0xfffe218c]
ADD EAX,EBX
JMP EAX
MOV EAX,dword ptr [ESP + 0xc]
CMP dword ptr [EBP],0xb
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x14],EAX
MOV EDX,EAX
JA 0x00045e86
MOV EAX,dword ptr [EBP]
MOV EBP,dword ptr [EBX + EAX*0x4 + 0xfffe21bc]
ADD EBP,EBX
JMP EBP
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x18],EAX
JMP 0x00045560
MOV dword ptr [ESP + 0x1c],EDX
SUB ESP,0xc
MOV dword ptr [ESP + 0x24],ECX
PUSH dword ptr [ESP + 0x20]
CALL 0x00038fd0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JNZ 0x0004542b
MOV dword ptr [ESP + 0x18],EDX
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],ECX
PUSH dword ptr [ESI + 0xc]
CALL 0x00039040
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JNZ 0x0004542b
JMP 0x00045a2c
PUSH EAX
PUSH dword ptr [ESI + 0x34]
PUSH dword ptr [ESI + 0x30]
CALL 0x0002d6b0
ADD ESP,0x20
MOV EAX,dword ptr [ESI + 0x28]
MOV ECX,dword ptr [ESP + 0xc]
JMP 0x000455d0
MOV EDI,ECX
AND EDI,0xffe00000
CMP EDI,0xe8000000
JNZ 0x0004556c
MOV EDI,dword ptr [ESP + 0x18]
ADD EDI,0x7ffff8
CMP EDI,0xffffff
JBE 0x0004556c
MOV dword ptr [ESP + 0xc],ECX
LEA EAX,[EBX + 0xfffe1abc]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
POP ECX
POP EDI
MOV EDX,dword ptr [ESP + 0x20]
SUB EDX,0x8
PUSH EDX
PUSH 0x7fffff
PUSH 0xff800000
JMP 0x00045c5c
MOV EDI,ECX
AND EDI,0xffe00000
CMP EDI,0xe8000000
JNZ 0x00045916
MOV EDI,dword ptr [ESP + 0x18]
ADD EDI,0x3fff8
CMP EDI,0x7ffff
JBE 0x00045916
MOV dword ptr [ESP + 0xc],ECX
LEA EAX,[EBX + 0xfffe1abc]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
POP ECX
POP EDI
MOV EDX,dword ptr [ESP + 0x20]
SUB EDX,0x8
PUSH EDX
PUSH 0x3ffff
PUSH 0xfffc0000
JMP 0x00045c5c
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00045b61
MOV dword ptr [ESP + 0xc],ECX
LEA EAX,[EBX + 0xfffe1abc]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
POP EBP
POP EDX
PUSH EDI
PUSH 0x7fffff
PUSH 0xff800000
JMP 0x00045c5c
MOV dword ptr [ESP + 0xc],ECX
LEA EAX,[EBX + 0xfffe1abc]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
POP EBP
POP EDX
PUSH EDI
PUSH 0x3ffff
PUSH 0xfffc0000
JMP 0x00045c5c
CMP EDI,0x16
JNZ 0x0004542b
JMP 0x0004551e
MOV dword ptr [ESP + 0x18],EDX
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],ECX
PUSH dword ptr [ESI + 0xc]
CALL 0x00039040
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JZ 0x00045a2c
JMP 0x00045555
PUSH EAX
LEA EAX,[EBX + 0xfffe2acc]
PUSH EAX
LEA EAX,[EBX + 0xfffdff4b]
PUSH 0x176
PUSH EAX
CALL 0x0002d780
MOV EDX,0x8
JMP 0x000454e3
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Removing unreachable block (ram,0x00045e07) */\n\nvoid FUN_00045300(byte *param_1,uint *param_2)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_28;\n  uint local_24;\n  \n  iVar3 = *(int *)(param_1 + 0x28);\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 + 0x38);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_000413d0(iVar3,*param_2,param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }\n  local_28 = *(uint *)(param_1 + 0xc);\n  if (local_28 != 0) {\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }\nLAB_00045898:\n  if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }\nLAB_000455d0:\n  if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003bae0(*(int *)(param_1 + 0xc));\n  }\nLAB_00045602:\n                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();\n  return;\n}\n\n" comment comment (function_definition "void FUN_00045300(byte *param_1,uint *param_2)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_28;\n  uint local_24;\n  \n  iVar3 = *(int *)(param_1 + 0x28);\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 + 0x38);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_000413d0(iVar3,*param_2,param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }\n  local_28 = *(uint *)(param_1 + 0xc);\n  if (local_28 != 0) {\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }\nLAB_00045898:\n  if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }\nLAB_000455d0:\n  if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003bae0(*(int *)(param_1 + 0xc));\n  }\nLAB_00045602:\n                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();\n  return;\n}" primitive_type (function_declarator "FUN_00045300(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  undefined4 uVar4;\n  uint uVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_28;\n  uint local_24;\n  \n  iVar3 = *(int *)(param_1 + 0x28);\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 + 0x38);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_000413d0(iVar3,*param_2,param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }\n  local_28 = *(uint *)(param_1 + 0xc);\n  if (local_28 != 0) {\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }\nLAB_00045898:\n  if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }\nLAB_000455d0:\n  if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003bae0(*(int *)(param_1 + 0xc));\n  }\nLAB_00045602:\n                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(*(int *)(DAT_00083ec4 + 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 "undefined4 uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (expression_statement "iVar3 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x28)" identifier = (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" 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 + 0x38);" (assignment_expression "puVar1 = *(undefined4 **)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x38)" * (cast_expression "(undefined4 **)(param_1 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (puVar1 == (undefined4 *)0x0) {\n    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,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    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);\n    return;\n  }" { (expression_statement "uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);" (assignment_expression "uVar4 = 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_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);" (call_expression "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);" (assignment_expression "iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8)" identifier = (binary_expression "*(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8)" (binary_expression "*(int *)(param_1 + 4) + 0x38" (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_000413d0(iVar3,*param_2,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_000413d0(iVar3,*param_2,param_1[2]);\n    return;\n  }" { (expression_statement "FUN_000413d0(iVar3,*param_2,param_1[2]);" (call_expression "FUN_000413d0(iVar3,*param_2,param_1[2])" identifier (argument_list "(iVar3,*param_2,param_1[2])" ( identifier , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_1[2]" identifier [ number_literal ]) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);" (assignment_expression "uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3)" identifier = (call_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))" ( (pointer_expression "**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28)" * (pointer_expression "*(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28)" * (cast_expression "(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00083ec4 + 4) + 0x28)" ( (binary_expression "*(int *)(DAT_00083ec4 + 4) + 0x28" (pointer_expression "*(int *)(DAT_00083ec4 + 4)" * (cast_expression "(int *)(DAT_00083ec4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00083ec4 + 4)" ( (binary_expression "DAT_00083ec4 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) (switch_statement "switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }" switch (parenthesized_expression "(uVar2 >> 0x1a)" ( (binary_expression "uVar2 >> 0x1a" identifier >> number_literal) )) (compound_statement "{\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }" { (case_statement "case 8:" case number_literal :) (case_statement "case 10:\n    uVar6 = 0x15;\n    break;" case number_literal : (expression_statement "uVar6 = 0x15;" (assignment_expression "uVar6 = 0x15" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;" default : (expression_statement "uVar6 = 0x20;" (assignment_expression "uVar6 = 0x20" identifier = number_literal) ;) (goto_statement "goto LAB_000454d2;" 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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;" case number_literal : (expression_statement "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;" (assignment_expression "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10" identifier = (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe)" ( (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" - (call_expression "(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" ( (binary_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (binary_expression "*(int *)(DAT_00083ec4 + 0x80) + 0x10" (pointer_expression "*(int *)(DAT_00083ec4 + 0x80)" * (cast_expression "(int *)(DAT_00083ec4 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00083ec4 + 0x80)" ( (binary_expression "DAT_00083ec4 + 0x80" 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_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;" case number_literal : (if_statement "if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }" if (parenthesized_expression "(0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10))" ( (binary_expression "0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" number_literal < (pointer_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (binary_expression "*(int *)(DAT_00083ec4 + 0x80) + 0x10" (pointer_expression "*(int *)(DAT_00083ec4 + 0x80)" * (cast_expression "(int *)(DAT_00083ec4 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00083ec4 + 0x80)" ( (binary_expression "DAT_00083ec4 + 0x80" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }" { (expression_statement "uVar6 = 0xfffffff6;" (assignment_expression "uVar6 = 0xfffffff6" identifier = number_literal) ;) (goto_statement "goto LAB_000454d2;" goto statement_identifier ;) })) (expression_statement "uVar6 = 10;" (assignment_expression "uVar6 = 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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;" case number_literal : (expression_statement "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;" (assignment_expression "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10" identifier = (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5)" ( (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" - (call_expression "(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" ( (binary_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (binary_expression "*(int *)(DAT_00083ec4 + 0x80) + 0x10" (pointer_expression "*(int *)(DAT_00083ec4 + 0x80)" * (cast_expression "(int *)(DAT_00083ec4 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00083ec4 + 0x80)" ( (binary_expression "DAT_00083ec4 + 0x80" identifier + number_literal) )))) + number_literal) )))) < number_literal) )))) & number_literal) )) - number_literal)) ;) (labeled_statement "LAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);" statement_identifier : (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;)) (if_statement "if (local_28 == 0) goto LAB_00045898;" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00045898;" goto statement_identifier ;)) (goto_statement "goto LAB_000454e1;" 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    uVar6 = 0xc;\n    break;" case number_literal : (expression_statement "uVar6 = 0xc;" (assignment_expression "uVar6 = 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    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;" case number_literal : (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 0xb;" (assignment_expression "uVar6 = 0xb" identifier = number_literal) ;) (if_statement "if (local_28 != 0) goto LAB_00045654;" if (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00045654;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x28)" identifier = (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;" statement_identifier : (if_statement "if (iVar3 == 0) goto LAB_00045654;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00045654;" goto statement_identifier ;))) (goto_statement "goto LAB_00045b1b;" goto statement_identifier ;)) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;" case number_literal : (expression_statement "uVar6 = 0x11;" (assignment_expression "uVar6 = 0x11" identifier = number_literal) ;) (labeled_statement "code_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);" statement_identifier : (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;)) (if_statement "if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }" { (expression_statement "iVar3 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x28)" identifier = (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x00045c85;" goto statement_identifier ;) })) (if_statement "if (uVar6 == 0x11) goto LAB_0004541d;" if (parenthesized_expression "(uVar6 == 0x11)" ( (binary_expression "uVar6 == 0x11" identifier == number_literal) )) (goto_statement "goto LAB_0004541d;" goto statement_identifier ;)) (if_statement "if (uVar6 != 0x16) goto code_r0x0004547e;" if (parenthesized_expression "(uVar6 != 0x16)" ( (binary_expression "uVar6 != 0x16" identifier != number_literal) )) (goto_statement "goto code_r0x0004547e;" goto statement_identifier ;)) (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" identifier = number_literal) ;) (goto_statement "goto code_r0x000454f8;" goto statement_identifier ;)) (case_statement "case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }" case number_literal : (expression_statement "uVar6 = 0x11;" (assignment_expression "uVar6 = 0x11" identifier = number_literal) ;) (if_statement "if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\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      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }" { (expression_statement "uVar6 = 0x16;" (assignment_expression "uVar6 = 0x16" identifier = number_literal) ;) (goto_statement "goto code_r0x00045405;" goto statement_identifier ;) }))) })) (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (local_28 != 0) {\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }" if (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }" { (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (if_statement "if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;" if (parenthesized_expression "((0x421000U >> (uVar6 & 0x1f) & 1) == 0)" ( (binary_expression "(0x421000U >> (uVar6 & 0x1f) & 1) == 0" (parenthesized_expression "(0x421000U >> (uVar6 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (uVar6 & 0x1f) & 1" (binary_expression "0x421000U >> (uVar6 & 0x1f)" number_literal >> (parenthesized_expression "(uVar6 & 0x1f)" ( (binary_expression "uVar6 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;)) (labeled_statement "LAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }" statement_identifier : (if_statement "if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }" if (parenthesized_expression "((uVar6 != 0x11) && (uVar6 != 0xc))" ( (binary_expression "(uVar6 != 0x11) && (uVar6 != 0xc)" (parenthesized_expression "(uVar6 != 0x11)" ( (binary_expression "uVar6 != 0x11" identifier != number_literal) )) && (parenthesized_expression "(uVar6 != 0xc)" ( (binary_expression "uVar6 != 0xc" identifier != number_literal) ))) )) (compound_statement "{\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }" { (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_000454e3;" goto statement_identifier ;) }))) (if_statement "if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (compound_statement "{\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }" { (labeled_statement "code_r0x0004547e:\n      uVar5 = 8;" statement_identifier : (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" identifier = number_literal) ;)) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;) })) (labeled_statement "LAB_0004541d:\n    uVar5 = 8;" statement_identifier : (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" identifier = number_literal) ;)) (if_statement "if ((*param_1 & 1) == 0) goto LAB_0004542b;" 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_0004542b;" goto statement_identifier ;)) (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;" if (parenthesized_expression "(local_24 + 0x1ff8 < 0x4000)" ( (binary_expression "local_24 + 0x1ff8 < 0x4000" (binary_expression "local_24 + 0x1ff8" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_00045bd8;" goto statement_identifier ;)) (if_statement "if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }" if (parenthesized_expression "(uVar6 != 0x11)" ( (binary_expression "uVar6 != 0x11" identifier != number_literal) )) (compound_statement "{\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }" { (if_statement "if (uVar6 != 0x16) goto LAB_0004542b;" if (parenthesized_expression "(uVar6 != 0x16)" ( (binary_expression "uVar6 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;)) (goto_statement "goto LAB_0004551e;" goto statement_identifier ;) })) (if_statement "if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }" if (parenthesized_expression "(local_24 + 0x3fff8 < 0x80000)" ( (binary_expression "local_24 + 0x3fff8 < 0x80000" (binary_expression "local_24 + 0x3fff8" identifier + number_literal) < number_literal) )) (compound_statement "{\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }" { (expression_statement "iVar3 = FUN_00038fd0(local_28);" (assignment_expression "iVar3 = FUN_00038fd0(local_28)" identifier = (call_expression "FUN_00038fd0(local_28)" identifier (argument_list "(local_28)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }" { (expression_statement "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));" (assignment_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_00039040(*(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) )))) )))) ;) (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" identifier = number_literal) ;) (if_statement "if (iVar3 == 0) goto LAB_00045a2c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00045a2c;" goto statement_identifier ;)) })) (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) })) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }" if (parenthesized_expression "(((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8))" ( (binary_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)" (parenthesized_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" ( (binary_expression "(uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar6 == 10)" ( (binary_expression "uVar6 == 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 "(0x7ffff < local_24 + 0x3fff8)" ( (binary_expression "0x7ffff < local_24 + 0x3fff8" number_literal < (binary_expression "local_24 + 0x3fff8" identifier + number_literal)) ))) )) (compound_statement "{\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }" { (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = 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 "uVar5 = local_24 - 8;" (assignment_expression "uVar5 = local_24 - 8" identifier = (binary_expression "local_24 - 8" identifier - number_literal)) ;) (expression_statement "uVar8 = 0x3ffff;" (assignment_expression "uVar8 = 0x3ffff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xfffc0000;" (assignment_expression "uVar7 = 0xfffc0000" identifier = number_literal) ;) (goto_statement "goto LAB_00045c5c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000455d0;" goto statement_identifier ;) })) (labeled_statement "LAB_00045898:\n  if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" statement_identifier : (if_statement "if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x28) == 0)" ( (binary_expression "*(int *)(param_1 + 0x28) == 0" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }" { (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (if_statement "if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }" if (parenthesized_expression "(uVar6 < 0x17)" ( (binary_expression "uVar6 < 0x17" identifier < number_literal) )) (compound_statement "{\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }" { (labeled_statement "LAB_00045654:\n      uVar5 = 0;" statement_identifier : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;)) (if_statement "if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;" if (parenthesized_expression "((0x421000U >> (uVar6 & 0x1f) & 1) != 0)" ( (binary_expression "(0x421000U >> (uVar6 & 0x1f) & 1) != 0" (parenthesized_expression "(0x421000U >> (uVar6 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (uVar6 & 0x1f) & 1" (binary_expression "0x421000U >> (uVar6 & 0x1f)" number_literal >> (parenthesized_expression "(uVar6 & 0x1f)" ( (binary_expression "uVar6 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00045468;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_000454e1:\n      uVar5 = 0;\n    }" else (compound_statement "{\nLAB_000454e1:\n      uVar5 = 0;\n    }" { (labeled_statement "LAB_000454e1:\n      uVar5 = 0;" statement_identifier : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;)) }))) (labeled_statement "LAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;" statement_identifier : (if_statement "if (uVar6 != 0x16) goto LAB_0004542b;" if (parenthesized_expression "(uVar6 != 0x16)" ( (binary_expression "uVar6 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;))) (if_statement "if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (compound_statement "{\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }" { (expression_statement "local_28 = *param_2;" (assignment_expression "local_28 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (goto_statement "goto LAB_00045b61;" goto statement_identifier ;) })) (labeled_statement "code_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;" statement_identifier : (if_statement "if ((*param_1 & 1) == 0) goto LAB_00045555;" 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_00045555;" goto statement_identifier ;))) (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar6 = 0x16;" (assignment_expression "uVar6 = 0x16" identifier = number_literal) ;) (if_statement "if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }" if (parenthesized_expression "(local_24 + 0x1ff8 < 0x4000)" ( (binary_expression "local_24 + 0x1ff8 < 0x4000" (binary_expression "local_24 + 0x1ff8" identifier + number_literal) < number_literal) )) (compound_statement "{\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }" { (labeled_statement "LAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);" statement_identifier : (expression_statement "iVar3 = FUN_00038fd0(local_28);" (assignment_expression "iVar3 = FUN_00038fd0(local_28)" identifier = (call_expression "FUN_00038fd0(local_28)" identifier (argument_list "(local_28)" ( identifier )))) ;)) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_00039040(*(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_0004542b;" goto statement_identifier ;)) (labeled_statement "LAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));" statement_identifier : (expression_statement "iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));" (assignment_expression "iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_00039580(*(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_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }" if (parenthesized_expression "((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))))" ( (binary_expression "(iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(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_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))" ( (parenthesized_expression "(*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))" ( (binary_expression "*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(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_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])" ( (comma_expression "iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]" (assignment_expression "iVar3 = FUN_00039580(*(int *)(param_1 + 0x10))" identifier = (call_expression "FUN_00039580(*(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_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }" { (expression_statement "local_28 = *param_2;" (assignment_expression "local_28 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar5 = local_28;" (assignment_expression "uVar5 = local_28" identifier = identifier) ;) (switch_statement "switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }" switch (parenthesized_expression "(*puVar1)" ( (pointer_expression "*puVar1" * identifier) )) (compound_statement "{\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }" { (case_statement "case 0:\n          break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 + 0x400) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x400) >> 0xb" identifier = (binary_expression "(int)(local_28 + 0x400) >> 0xb" (cast_expression "(int)(local_28 + 0x400)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 + 0x400)" ( (binary_expression "local_28 + 0x400" identifier + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 << 0x15) >> 0x15;" (assignment_expression "uVar5 = (int)(local_28 << 0x15) >> 0x15" identifier = (binary_expression "(int)(local_28 << 0x15) >> 0x15" (cast_expression "(int)(local_28 << 0x15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 << 0x15)" ( (binary_expression "local_28 << 0x15" identifier << number_literal) ))) >> 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          uVar5 = (int)local_28 >> 0xb;\n          break;" case number_literal : (expression_statement "uVar5 = (int)local_28 >> 0xb;" (assignment_expression "uVar5 = (int)local_28 >> 0xb" identifier = (binary_expression "(int)local_28 >> 0xb" (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;" case number_literal : (expression_statement "uVar5 = local_28 & 0x7ff;" (assignment_expression "uVar5 = local_28 & 0x7ff" identifier = (binary_expression "local_28 & 0x7ff" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 + 0x800) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x800) >> 0xb" identifier = (binary_expression "(int)(local_28 + 0x800) >> 0xb" (cast_expression "(int)(local_28 + 0x800)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 + 0x800)" ( (binary_expression "local_28 + 0x800" identifier + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;" case number_literal : (expression_statement "uVar5 = local_28 | 0xfffff800;" (assignment_expression "uVar5 = local_28 | 0xfffff800" identifier = (binary_expression "local_28 | 0xfffff800" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n          uVar5 = 0;\n          break;" case number_literal : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\nLAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);" default : (labeled_statement "LAB_00045e86:\n                    /* WARNING: Subroutine does not return */\n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);" statement_identifier : comment (expression_statement "FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);" (call_expression "FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28)" identifier (argument_list "("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28)" ( (string_literal ""../../gas/../bfd/libhppa.h"" " string_content ") , number_literal , (string_literal ""hppa_field_adjust"" " string_content ") , identifier ))) ;))) })) })) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;) })) (labeled_statement "LAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }" statement_identifier : (if_statement "if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }" if (parenthesized_expression "(local_24 + 0x7ffff8 < 0x1000000)" ( (binary_expression "local_24 + 0x7ffff8 < 0x1000000" (binary_expression "local_24 + 0x7ffff8" identifier + number_literal) < number_literal) )) (compound_statement "{\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }" { (expression_statement "iVar3 = FUN_00038fd0(local_28);" (assignment_expression "iVar3 = FUN_00038fd0(local_28)" identifier = (call_expression "FUN_00038fd0(local_28)" identifier (argument_list "(local_28)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_00039040(*(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_00045555;" goto statement_identifier ;)) (goto_statement "goto LAB_00045a2c;" goto statement_identifier ;) }))) (labeled_statement "LAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);" statement_identifier : (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;)) (if_statement "if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }" if (parenthesized_expression "(((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))" ( (binary_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8)" (parenthesized_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" ( (binary_expression "(uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar6 == 10)" ( (binary_expression "uVar6 == 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 "(0xffffff < local_24 + 0x7ffff8)" ( (binary_expression "0xffffff < local_24 + 0x7ffff8" number_literal < (binary_expression "local_24 + 0x7ffff8" identifier + number_literal)) ))) )) (compound_statement "{\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }" { (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = 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 "uVar5 = local_24 - 8;" (assignment_expression "uVar5 = local_24 - 8" identifier = (binary_expression "local_24 - 8" identifier - number_literal)) ;) (expression_statement "uVar8 = 0x7fffff;" (assignment_expression "uVar8 = 0x7fffff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xff800000;" (assignment_expression "uVar7 = 0xff800000" identifier = number_literal) ;) }) (else_clause "else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }" else (compound_statement "{\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }" { (if_statement "if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;" if (parenthesized_expression "(uVar5 + 0x7ffff8 < 0x1000000)" ( (binary_expression "uVar5 + 0x7ffff8 < 0x1000000" (binary_expression "uVar5 + 0x7ffff8" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_000455d0;" goto statement_identifier ;)) (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = 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 "uVar5 = uVar5 - 8;" (assignment_expression "uVar5 = uVar5 - 8" identifier = (binary_expression "uVar5 - 8" identifier - number_literal)) ;) }))) (labeled_statement "LAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);" statement_identifier : (expression_statement "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);" (call_expression "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) , identifier , identifier , identifier , identifier ))) ;)) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" else (compound_statement "{\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" { (labeled_statement "LAB_00045b1b:\n    local_28 = *param_2;" statement_identifier : (expression_statement "local_28 = *param_2;" (assignment_expression "local_28 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;)) (switch_statement "switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }" switch (parenthesized_expression "(*puVar1)" ( (pointer_expression "*puVar1" * identifier) )) (compound_statement "{\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }" { (case_statement "case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;" case number_literal : (expression_statement "uVar5 = local_28;" (assignment_expression "uVar5 = local_28" identifier = identifier) ;) (if_statement "if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;" if (parenthesized_expression "((uVar6 == 0xc) || (uVar6 == 0x11))" ( (binary_expression "(uVar6 == 0xc) || (uVar6 == 0x11)" (parenthesized_expression "(uVar6 == 0xc)" ( (binary_expression "uVar6 == 0xc" identifier == number_literal) )) || (parenthesized_expression "(uVar6 == 0x11)" ( (binary_expression "uVar6 == 0x11" identifier == number_literal) ))) )) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;)) (goto_statement "goto code_r0x00045b58;" goto statement_identifier ;)) (case_statement "case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 + 0x400) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x400) >> 0xb" identifier = (binary_expression "(int)(local_28 + 0x400) >> 0xb" (cast_expression "(int)(local_28 + 0x400)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 + 0x400)" ( (binary_expression "local_28 + 0x400" identifier + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 << 0x15) >> 0x15;" (assignment_expression "uVar5 = (int)(local_28 << 0x15) >> 0x15" identifier = (binary_expression "(int)(local_28 << 0x15) >> 0x15" (cast_expression "(int)(local_28 << 0x15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 << 0x15)" ( (binary_expression "local_28 << 0x15" identifier << number_literal) ))) >> 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      uVar5 = (int)local_28 >> 0xb;\n      break;" case number_literal : (expression_statement "uVar5 = (int)local_28 >> 0xb;" (assignment_expression "uVar5 = (int)local_28 >> 0xb" identifier = (binary_expression "(int)local_28 >> 0xb" (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;" case number_literal : (expression_statement "uVar5 = local_28 & 0x7ff;" (assignment_expression "uVar5 = local_28 & 0x7ff" identifier = (binary_expression "local_28 & 0x7ff" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 + 0x800) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x800) >> 0xb" identifier = (binary_expression "(int)(local_28 + 0x800) >> 0xb" (cast_expression "(int)(local_28 + 0x800)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 + 0x800)" ( (binary_expression "local_28 + 0x800" identifier + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;" case number_literal : (expression_statement "uVar5 = local_28 | 0xfffff800;" (assignment_expression "uVar5 = local_28 | 0xfffff800" identifier = (binary_expression "local_28 | 0xfffff800" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      uVar5 = 0;\n      break;" case number_literal : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n      goto LAB_00045e86;" default : (goto_statement "goto LAB_00045e86;" goto statement_identifier ;)) })) (if_statement "if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }" if (parenthesized_expression "((uVar6 != 0xc) && (uVar6 != 0x11))" ( (binary_expression "(uVar6 != 0xc) && (uVar6 != 0x11)" (parenthesized_expression "(uVar6 != 0xc)" ( (binary_expression "uVar6 != 0xc" identifier != number_literal) )) && (parenthesized_expression "(uVar6 != 0x11)" ( (binary_expression "uVar6 != 0x11" identifier != number_literal) ))) )) (compound_statement "{\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }" { (labeled_statement "code_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }" statement_identifier : (if_statement "if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }" if (parenthesized_expression "(uVar6 == 0x16)" ( (binary_expression "uVar6 == 0x16" identifier == number_literal) )) (compound_statement "{\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }" { (labeled_statement "LAB_00045b61:\n        local_24 = local_28;" statement_identifier : (expression_statement "local_24 = local_28;" (assignment_expression "local_24 = local_28" identifier = identifier) ;)) (goto_statement "goto LAB_00045560;" goto statement_identifier ;) }))) })) (labeled_statement "LAB_0004542b:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }" statement_identifier : comment (switch_statement "switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }" switch (parenthesized_expression "(uVar6)" ( identifier )) (compound_statement "{\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }" { (case_statement "case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;" case number_literal : (if_statement "if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }" if (parenthesized_expression "(uVar5 + 0x2000 < 0x4000)" ( (binary_expression "uVar5 + 0x2000 < 0x4000" (binary_expression "uVar5 + 0x2000" identifier + number_literal) < number_literal) )) (compound_statement "{\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }" { (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;) })) (labeled_statement "code_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = 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_00045c5c;" goto statement_identifier ;)) (case_statement "case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" case number_literal : (expression_statement "uVar2 = uVar5 + 0x1ff8;" (assignment_expression "uVar2 = uVar5 + 0x1ff8" identifier = (binary_expression "uVar5 + 0x1ff8" identifier + number_literal)) ;) (expression_statement "uVar5 = uVar5 - 8;" (assignment_expression "uVar5 = uVar5 - 8" identifier = (binary_expression "uVar5 - 8" identifier - number_literal)) ;) (if_statement "if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }" if (parenthesized_expression "(0x3fff < uVar2)" ( (binary_expression "0x3fff < uVar2" number_literal < identifier) )) (compound_statement "{\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }" { (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = 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_00045c5c;" goto statement_identifier ;) })) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" case number_literal : (if_statement "if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;" if (parenthesized_expression "(0x3fff < uVar5 + 0x2000)" ( (binary_expression "0x3fff < uVar5 + 0x2000" number_literal < (binary_expression "uVar5 + 0x2000" identifier + number_literal)) )) (goto_statement "goto code_r0x00045c30;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" case number_literal : (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;" case number_literal : (labeled_statement "LAB_00045555:\n      local_24 = *param_2;" statement_identifier : (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;)) (goto_statement "goto LAB_00045560;" goto statement_identifier ;)) (case_statement "case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" case number_literal : (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" case number_literal : (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;" default : (expression_statement "uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);" (assignment_expression "uVar4 = 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_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);" (call_expression "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) , identifier ))) ;) (return_statement "return;" return ;)) (case_statement "case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);" case number_literal : (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;)) }))) })))) (labeled_statement "LAB_000455d0:\n  if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }" statement_identifier : (if_statement "if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }" if (parenthesized_expression "(uVar6 != 0xa6)" ( (binary_expression "uVar6 != 0xa6" identifier != number_literal) )) (compound_statement "{\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }" { (if_statement "if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;" if (parenthesized_expression "(uVar6 < 0xa7)" ( (binary_expression "uVar6 < 0xa7" identifier < number_literal) )) (compound_statement "{\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }" { (if_statement "if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;" if (parenthesized_expression "((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a))))" ( (binary_expression "(uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))" (parenthesized_expression "(uVar6 != 0x9e)" ( (binary_expression "uVar6 != 0x9e" identifier != number_literal) )) && (parenthesized_expression "((uVar6 != 0xa2 && (uVar6 != 0x9a)))" ( (parenthesized_expression "(uVar6 != 0xa2 && (uVar6 != 0x9a))" ( (binary_expression "uVar6 != 0xa2 && (uVar6 != 0x9a)" (binary_expression "uVar6 != 0xa2" identifier != number_literal) && (parenthesized_expression "(uVar6 != 0x9a)" ( (binary_expression "uVar6 != 0x9a" identifier != number_literal) ))) )) ))) )) (goto_statement "goto LAB_00045602;" goto statement_identifier ;)) }) (else_clause "else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;" else (if_statement "if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;" if (parenthesized_expression "((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed))))" ( (binary_expression "(uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))" (parenthesized_expression "(uVar6 < 0xea)" ( (binary_expression "uVar6 < 0xea" identifier < number_literal) )) || (parenthesized_expression "((0xeb < uVar6 && (1 < uVar6 - 0xed)))" ( (parenthesized_expression "(0xeb < uVar6 && (1 < uVar6 - 0xed))" ( (binary_expression "0xeb < uVar6 && (1 < uVar6 - 0xed)" (binary_expression "0xeb < uVar6" number_literal < identifier) && (parenthesized_expression "(1 < uVar6 - 0xed)" ( (binary_expression "1 < uVar6 - 0xed" number_literal < (binary_expression "uVar6 - 0xed" identifier - number_literal)) ))) )) ))) )) (goto_statement "goto LAB_00045602;" goto statement_identifier ;)))) }))) (if_statement "if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003bae0(*(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_0003bae0(*(int *)(param_1 + 0xc));\n  }" { (expression_statement "FUN_0003bae0(*(int *)(param_1 + 0xc));" (call_expression "FUN_0003bae0(*(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_00045602:\n                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();" statement_identifier : comment comment (expression_statement "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();" (call_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))()" (parenthesized_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))" ( (pointer_expression "**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30)" * (pointer_expression "*(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30)" * (cast_expression "(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00083ec4 + 4) + 0x30)" ( (binary_expression "*(int *)(DAT_00083ec4 + 4) + 0x30" (pointer_expression "*(int *)(DAT_00083ec4 + 4)" * (cast_expression "(int *)(DAT_00083ec4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00083ec4 + 4)" ( (binary_expression "DAT_00083ec4 + 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,0x00045e07) */\n\nvoid md_apply_fix(fixS *fixP,valueT *valP,segT seg)\n\n{\n  undefined4 *puVar1;\n  bfd_vma bVar2;\n  int iVar3;\n  bfd_reloc_code_real_type bVar4;\n  char *pcVar5;\n  segT paVar6;\n  char *format;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  symbolS *local_28;\n  uint local_24;\n  \n  bVar4 = fixP->fx_r_type;\n  if (bVar4 - 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    pcVar5 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5,bVar4);\n    return;\n  }\n  pcVar5 = fixP->fx_frag->fr_literal + fixP->fx_where;\n  if ((fixP->fx_size != 4) || (puVar1[2] == 0x20)) {\n    number_to_chars_bigendian(pcVar5,*valP,(uint)fixP->fx_size);\n    return;\n  }\n  bVar2 = (*stdoutput->xvec->bfd_getx32)(pcVar5);\n  switch(bVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar9 = 0x15;\n    break;\n  default:\n    uVar9 = 0x20;\n    goto LAB_000454d2;\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    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < stdoutput->arch_info->mach) {\n      uVar9 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar9 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar9 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = fixP->fx_addsy;\n    uVar9 = 0xb;\n    if (local_28 != (symbolS *)0x0) goto LAB_00045654;\n    bVar4 = fixP->fx_r_type;\njoined_r0x00045c85:\n    if (bVar4 == _dummy_first_bfd_reloc_code_real) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar9 = 0x11;\nLAB_00045405:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) {\n      bVar4 = fixP->fx_r_type;\n      goto joined_r0x00045c85;\n    }\n    if (uVar9 == 0x11) goto LAB_0004541d;\n    if (uVar9 != 0x16) goto LAB_0004547e;\n    uVar7 = 8;\n    goto LAB_000454f8;\n  case 0x3a:\n    uVar9 = 0x11;\n    if ((bVar2 & 0x8000) != 0) {\n      uVar9 = 0x16;\n      goto LAB_00045405;\n    }\n  }\n  local_28 = fixP->fx_addsy;\n  if (local_28 != (symbolS *)0x0) {\n    uVar7 = 0;\n    if ((0x421000U >> (uVar9 & 0x1f) & 1) == 0) goto _L799;\nLAB_00045468:\n    if ((uVar9 != 0x11) && (uVar9 != 0xc)) {\n      uVar7 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == (symbolS *)0x0) {\nLAB_0004547e:\n      uVar7 = 8;\n      goto _L799;\n    }\nLAB_0004541d:\n    uVar7 = 8;\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L799;\n    local_24 = *valP;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar9 != 0x11) {\n      if (uVar9 != 0x16) goto _L799;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if (iVar3 == 0) {\n        iVar3 = S_IS_WEAK(fixP->fx_addsy);\n        uVar7 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *valP;\n    }\n    bVar4 = fixP->fx_r_type;\n    if (((bVar4 != BFD_RELOC_24_PCREL) || ((bVar2 & 0xffe00000) != 0xe8000000)) ||\n       (local_24 + 0x3fff8 < 0x80000)) {\n      uVar9 = bVar2 & 0xffe0e002;\n      iVar3 = 0;\n      uVar7 = 0;\n      goto LAB_000455b7;\n    }\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar7 = local_24 - 8;\n    uVar11 = 0x3ffff;\n    uVar10 = 0xfffc0000;\nLAB_00045c5c:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar7);\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2;\n    goto LAB_000455d0;\n  }\nLAB_00045898:\n  if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {\n    local_28 = (symbolS *)0x0;\n    if (uVar9 < 0x17) {\nLAB_00045654:\n      uVar7 = 0;\n      if ((0x421000U >> (uVar9 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar7 = 0;\n    }\nLAB_000454e3:\n    if (uVar9 != 0x16) goto _L799;\n    if (local_28 == (symbolS *)0x0) {\n      local_28 = (symbolS *)*valP;\n      goto LAB_00045b61;\n    }\nLAB_000454f8:\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L918;\n    local_24 = *valP;\n    uVar9 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L799;\nLAB_00045a2c:\n      paVar6 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar6 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))) {\n        uVar7 = *valP;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L799;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L918;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    bVar4 = fixP->fx_r_type;\n    if (((bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000)) &&\n       (0xffffff < local_24 + 0x7ffff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar7 = local_24 - 8;\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\n    else {\n      uVar9 = uVar7 - 8;\n      if (uVar7 + 0x7ffff8 < 0x1000000) {\n        iVar3 = (int)uVar9 >> 2;\n        uVar7 = iVar3 << 5;\n        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;\nLAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;\n        goto LAB_000455d0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar7 = uVar9;\n    }\n    goto LAB_00045c5c;\n  }\nLAB_00045b1b:\n  local_28 = (symbolS *)*valP;\n  switch(*puVar1) {\n  case 0:\n    uVar7 = (uint)local_28;\n    if ((uVar9 == 0xc) || (uVar9 == 0x11)) goto _L799;\n    goto LAB_00045b58;\n  case 1:\n    uVar7 = (int)((int)local_28 + 0x400U) >> 0xb;\n    break;\n  case 2:\n    uVar7 = ((int)local_28 << 0x15) >> 0x15;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    uVar7 = (int)local_28 >> 0xb;\n    break;\n  case 4:\n  case 8:\n    uVar7 = (uint)local_28 & 0x7ff;\n    break;\n  case 5:\n    uVar7 = (int)((int)local_28 + 0x800U) >> 0xb;\n    break;\n  case 6:\n    uVar7 = (uint)local_28 | 0xfffff800;\n    break;\n  case 9:\n    uVar7 = 0;\n    break;\n  default:\n    goto switchD_00045aa1_caseD_c;\n  }\n  if ((uVar9 != 0xc) && (uVar9 != 0x11)) {\nLAB_00045b58:\n    if (uVar9 == 0x16) {\nLAB_00045b61:\n      local_24 = (uint)local_28;\n      goto LAB_00045560;\n    }\n  }\n_L799:\n  if (0x30 < uVar9 + 0x10) {\n_L820:\n    pcVar5 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5);\n    return;\n  }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(uVar9) {\n  case 10:\n    if (0x3fff < uVar7 + 0x2000) {\nLAB_00045c30:\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc00e | uVar7 * 2 & 0x3ff0 | (int)uVar7 >> 0xd & 1U;\n    break;\n  case 0xc:\n    uVar9 = uVar7 + 0x1ff8;\n    uVar7 = uVar7 - 8;\n    if (0x3fff < uVar9) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = (int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U | bVar2 & 0xffffe002 | uVar7 * 2 & 0x1ff8\n    ;\n    break;\n  case 0xe:\n    if (0x3fff < uVar7 + 0x2000) goto LAB_00045c30;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc000 | (int)uVar7 >> 0xd & 1U | uVar7 * 2 & 0x3ffe;\n    break;\n  case 0x10:\n    uVar8 = uVar7 * 2 & 0xffff;\n    uVar9 = bVar2 & 0xffff0000 | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\nLAB_000456fa:\n    uVar7 = uVar9 | uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000;\n    break;\n  case 0x16:\n_L918:\n    local_24 = *valP;\n    goto LAB_00045560;\n  case 0x20:\n    bVar4 = fixP->fx_r_type;\n    break;\n  case 0xfffffff0:\n    uVar9 = uVar7 & 0x8000;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffff0006 | (int)uVar9 >> 0xf | uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1 ^ uVar9;\n    break;\n  default:\n    goto _L820;\n  case 0xfffffff6:\n    uVar8 = uVar7 * 2 & 0xfff0;\n    uVar9 = bVar2 & 0xffff000e | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\n    goto LAB_000456fa;\n  }\nLAB_000455d0:\n  if (bVar4 != BFD_RELOC_ALPHA_LITERAL) {\n    if (bVar4 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar4 != BFD_RELOC_SPU_LO16) &&\n         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))) goto LAB_00045602;\n    }\n    else if ((bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_00045602;\n  }\n  if (fixP->fx_addsy != (symbolS *)0x0) {\n    S_SET_THREAD_LOCAL(fixP->fx_addsy);\n  }\nLAB_00045602:\n                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*stdoutput->xvec->bfd_putx32)(uVar7,pcVar5);\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  bfd_vma bVar2;\n  int iVar3;\n  bfd_reloc_code_real_type bVar4;\n  char *pcVar5;\n  segT paVar6;\n  char *format;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  symbolS *local_28;\n  uint local_24;\n  \n  bVar4 = fixP->fx_r_type;\n  if (bVar4 - 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    pcVar5 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5,bVar4);\n    return;\n  }\n  pcVar5 = fixP->fx_frag->fr_literal + fixP->fx_where;\n  if ((fixP->fx_size != 4) || (puVar1[2] == 0x20)) {\n    number_to_chars_bigendian(pcVar5,*valP,(uint)fixP->fx_size);\n    return;\n  }\n  bVar2 = (*stdoutput->xvec->bfd_getx32)(pcVar5);\n  switch(bVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar9 = 0x15;\n    break;\n  default:\n    uVar9 = 0x20;\n    goto LAB_000454d2;\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    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < stdoutput->arch_info->mach) {\n      uVar9 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar9 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar9 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = fixP->fx_addsy;\n    uVar9 = 0xb;\n    if (local_28 != (symbolS *)0x0) goto LAB_00045654;\n    bVar4 = fixP->fx_r_type;\njoined_r0x00045c85:\n    if (bVar4 == _dummy_first_bfd_reloc_code_real) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar9 = 0x11;\nLAB_00045405:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) {\n      bVar4 = fixP->fx_r_type;\n      goto joined_r0x00045c85;\n    }\n    if (uVar9 == 0x11) goto LAB_0004541d;\n    if (uVar9 != 0x16) goto LAB_0004547e;\n    uVar7 = 8;\n    goto LAB_000454f8;\n  case 0x3a:\n    uVar9 = 0x11;\n    if ((bVar2 & 0x8000) != 0) {\n      uVar9 = 0x16;\n      goto LAB_00045405;\n    }\n  }\n  local_28 = fixP->fx_addsy;\n  if (local_28 != (symbolS *)0x0) {\n    uVar7 = 0;\n    if ((0x421000U >> (uVar9 & 0x1f) & 1) == 0) goto _L799;\nLAB_00045468:\n    if ((uVar9 != 0x11) && (uVar9 != 0xc)) {\n      uVar7 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == (symbolS *)0x0) {\nLAB_0004547e:\n      uVar7 = 8;\n      goto _L799;\n    }\nLAB_0004541d:\n    uVar7 = 8;\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L799;\n    local_24 = *valP;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar9 != 0x11) {\n      if (uVar9 != 0x16) goto _L799;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if (iVar3 == 0) {\n        iVar3 = S_IS_WEAK(fixP->fx_addsy);\n        uVar7 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *valP;\n    }\n    bVar4 = fixP->fx_r_type;\n    if (((bVar4 != BFD_RELOC_24_PCREL) || ((bVar2 & 0xffe00000) != 0xe8000000)) ||\n       (local_24 + 0x3fff8 < 0x80000)) {\n      uVar9 = bVar2 & 0xffe0e002;\n      iVar3 = 0;\n      uVar7 = 0;\n      goto LAB_000455b7;\n    }\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar7 = local_24 - 8;\n    uVar11 = 0x3ffff;\n    uVar10 = 0xfffc0000;\nLAB_00045c5c:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar7);\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2;\n    goto LAB_000455d0;\n  }\nLAB_00045898:\n  if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {\n    local_28 = (symbolS *)0x0;\n    if (uVar9 < 0x17) {\nLAB_00045654:\n      uVar7 = 0;\n      if ((0x421000U >> (uVar9 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar7 = 0;\n    }\nLAB_000454e3:\n    if (uVar9 != 0x16) goto _L799;\n    if (local_28 == (symbolS *)0x0) {\n      local_28 = (symbolS *)*valP;\n      goto LAB_00045b61;\n    }\nLAB_000454f8:\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L918;\n    local_24 = *valP;\n    uVar9 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L799;\nLAB_00045a2c:\n      paVar6 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar6 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))) {\n        uVar7 = *valP;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L799;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L918;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    bVar4 = fixP->fx_r_type;\n    if (((bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000)) &&\n       (0xffffff < local_24 + 0x7ffff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar7 = local_24 - 8;\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\n    else {\n      uVar9 = uVar7 - 8;\n      if (uVar7 + 0x7ffff8 < 0x1000000) {\n        iVar3 = (int)uVar9 >> 2;\n        uVar7 = iVar3 << 5;\n        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;\nLAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;\n        goto LAB_000455d0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar7 = uVar9;\n    }\n    goto LAB_00045c5c;\n  }\nLAB_00045b1b:\n  local_28 = (symbolS *)*valP;\n  switch(*puVar1) {\n  case 0:\n    uVar7 = (uint)local_28;\n    if ((uVar9 == 0xc) || (uVar9 == 0x11)) goto _L799;\n    goto LAB_00045b58;\n  case 1:\n    uVar7 = (int)((int)local_28 + 0x400U) >> 0xb;\n    break;\n  case 2:\n    uVar7 = ((int)local_28 << 0x15) >> 0x15;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    uVar7 = (int)local_28 >> 0xb;\n    break;\n  case 4:\n  case 8:\n    uVar7 = (uint)local_28 & 0x7ff;\n    break;\n  case 5:\n    uVar7 = (int)((int)local_28 + 0x800U) >> 0xb;\n    break;\n  case 6:\n    uVar7 = (uint)local_28 | 0xfffff800;\n    break;\n  case 9:\n    uVar7 = 0;\n    break;\n  default:\n    goto switchD_00045aa1_caseD_c;\n  }\n  if ((uVar9 != 0xc) && (uVar9 != 0x11)) {\nLAB_00045b58:\n    if (uVar9 == 0x16) {\nLAB_00045b61:\n      local_24 = (uint)local_28;\n      goto LAB_00045560;\n    }\n  }\n_L799:\n  if (0x30 < uVar9 + 0x10) {\n_L820:\n    pcVar5 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5);\n    return;\n  }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(uVar9) {\n  case 10:\n    if (0x3fff < uVar7 + 0x2000) {\nLAB_00045c30:\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc00e | uVar7 * 2 & 0x3ff0 | (int)uVar7 >> 0xd & 1U;\n    break;\n  case 0xc:\n    uVar9 = uVar7 + 0x1ff8;\n    uVar7 = uVar7 - 8;\n    if (0x3fff < uVar9) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = (int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U | bVar2 & 0xffffe002 | uVar7 * 2 & 0x1ff8\n    ;\n    break;\n  case 0xe:\n    if (0x3fff < uVar7 + 0x2000) goto LAB_00045c30;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc000 | (int)uVar7 >> 0xd & 1U | uVar7 * 2 & 0x3ffe;\n    break;\n  case 0x10:\n    uVar8 = uVar7 * 2 & 0xffff;\n    uVar9 = bVar2 & 0xffff0000 | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\nLAB_000456fa:\n    uVar7 = uVar9 | uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000;\n    break;\n  case 0x16:\n_L918:\n    local_24 = *valP;\n    goto LAB_00045560;\n  case 0x20:\n    bVar4 = fixP->fx_r_type;\n    break;\n  case 0xfffffff0:\n    uVar9 = uVar7 & 0x8000;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffff0006 | (int)uVar9 >> 0xf | uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1 ^ uVar9;\n    break;\n  default:\n    goto _L820;\n  case 0xfffffff6:\n    uVar8 = uVar7 * 2 & 0xfff0;\n    uVar9 = bVar2 & 0xffff000e | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\n    goto LAB_000456fa;\n  }\nLAB_000455d0:\n  if (bVar4 != BFD_RELOC_ALPHA_LITERAL) {\n    if (bVar4 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar4 != BFD_RELOC_SPU_LO16) &&\n         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))) goto LAB_00045602;\n    }\n    else if ((bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_00045602;\n  }\n  if (fixP->fx_addsy != (symbolS *)0x0) {\n    S_SET_THREAD_LOCAL(fixP->fx_addsy);\n  }\nLAB_00045602:\n                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*stdoutput->xvec->bfd_putx32)(uVar7,pcVar5);\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  bfd_vma bVar2;\n  int iVar3;\n  bfd_reloc_code_real_type bVar4;\n  char *pcVar5;\n  segT paVar6;\n  char *format;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  symbolS *local_28;\n  uint local_24;\n  \n  bVar4 = fixP->fx_r_type;\n  if (bVar4 - 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    pcVar5 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5,bVar4);\n    return;\n  }\n  pcVar5 = fixP->fx_frag->fr_literal + fixP->fx_where;\n  if ((fixP->fx_size != 4) || (puVar1[2] == 0x20)) {\n    number_to_chars_bigendian(pcVar5,*valP,(uint)fixP->fx_size);\n    return;\n  }\n  bVar2 = (*stdoutput->xvec->bfd_getx32)(pcVar5);\n  switch(bVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar9 = 0x15;\n    break;\n  default:\n    uVar9 = 0x20;\n    goto LAB_000454d2;\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    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < stdoutput->arch_info->mach) {\n      uVar9 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar9 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar9 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = fixP->fx_addsy;\n    uVar9 = 0xb;\n    if (local_28 != (symbolS *)0x0) goto LAB_00045654;\n    bVar4 = fixP->fx_r_type;\njoined_r0x00045c85:\n    if (bVar4 == _dummy_first_bfd_reloc_code_real) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar9 = 0x11;\nLAB_00045405:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) {\n      bVar4 = fixP->fx_r_type;\n      goto joined_r0x00045c85;\n    }\n    if (uVar9 == 0x11) goto LAB_0004541d;\n    if (uVar9 != 0x16) goto LAB_0004547e;\n    uVar7 = 8;\n    goto LAB_000454f8;\n  case 0x3a:\n    uVar9 = 0x11;\n    if ((bVar2 & 0x8000) != 0) {\n      uVar9 = 0x16;\n      goto LAB_00045405;\n    }\n  }\n  local_28 = fixP->fx_addsy;\n  if (local_28 != (symbolS *)0x0) {\n    uVar7 = 0;\n    if ((0x421000U >> (uVar9 & 0x1f) & 1) == 0) goto _L799;\nLAB_00045468:\n    if ((uVar9 != 0x11) && (uVar9 != 0xc)) {\n      uVar7 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == (symbolS *)0x0) {\nLAB_0004547e:\n      uVar7 = 8;\n      goto _L799;\n    }\nLAB_0004541d:\n    uVar7 = 8;\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L799;\n    local_24 = *valP;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar9 != 0x11) {\n      if (uVar9 != 0x16) goto _L799;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if (iVar3 == 0) {\n        iVar3 = S_IS_WEAK(fixP->fx_addsy);\n        uVar7 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *valP;\n    }\n    bVar4 = fixP->fx_r_type;\n    if (((bVar4 != BFD_RELOC_24_PCREL) || ((bVar2 & 0xffe00000) != 0xe8000000)) ||\n       (local_24 + 0x3fff8 < 0x80000)) {\n      uVar9 = bVar2 & 0xffe0e002;\n      iVar3 = 0;\n      uVar7 = 0;\n      goto LAB_000455b7;\n    }\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar7 = local_24 - 8;\n    uVar11 = 0x3ffff;\n    uVar10 = 0xfffc0000;\nLAB_00045c5c:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar7);\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2;\n    goto LAB_000455d0;\n  }\nLAB_00045898:\n  if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {\n    local_28 = (symbolS *)0x0;\n    if (uVar9 < 0x17) {\nLAB_00045654:\n      uVar7 = 0;\n      if ((0x421000U >> (uVar9 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar7 = 0;\n    }\nLAB_000454e3:\n    if (uVar9 != 0x16) goto _L799;\n    if (local_28 == (symbolS *)0x0) {\n      local_28 = (symbolS *)*valP;\n      goto LAB_00045b61;\n    }\nLAB_000454f8:\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L918;\n    local_24 = *valP;\n    uVar9 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L799;\nLAB_00045a2c:\n      paVar6 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar6 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))) {\n        uVar7 = *valP;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L799;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L918;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    bVar4 = fixP->fx_r_type;\n    if (((bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000)) &&\n       (0xffffff < local_24 + 0x7ffff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar7 = local_24 - 8;\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\n    else {\n      uVar9 = uVar7 - 8;\n      if (uVar7 + 0x7ffff8 < 0x1000000) {\n        iVar3 = (int)uVar9 >> 2;\n        uVar7 = iVar3 << 5;\n        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;\nLAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;\n        goto LAB_000455d0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar7 = uVar9;\n    }\n    goto LAB_00045c5c;\n  }\nLAB_00045b1b:\n  local_28 = (symbolS *)*valP;\n  switch(*puVar1) {\n  case 0:\n    uVar7 = (uint)local_28;\n    if ((uVar9 == 0xc) || (uVar9 == 0x11)) goto _L799;\n    goto LAB_00045b58;\n  case 1:\n    uVar7 = (int)((int)local_28 + 0x400U) >> 0xb;\n    break;\n  case 2:\n    uVar7 = ((int)local_28 << 0x15) >> 0x15;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    uVar7 = (int)local_28 >> 0xb;\n    break;\n  case 4:\n  case 8:\n    uVar7 = (uint)local_28 & 0x7ff;\n    break;\n  case 5:\n    uVar7 = (int)((int)local_28 + 0x800U) >> 0xb;\n    break;\n  case 6:\n    uVar7 = (uint)local_28 | 0xfffff800;\n    break;\n  case 9:\n    uVar7 = 0;\n    break;\n  default:\n    goto switchD_00045aa1_caseD_c;\n  }\n  if ((uVar9 != 0xc) && (uVar9 != 0x11)) {\nLAB_00045b58:\n    if (uVar9 == 0x16) {\nLAB_00045b61:\n      local_24 = (uint)local_28;\n      goto LAB_00045560;\n    }\n  }\n_L799:\n  if (0x30 < uVar9 + 0x10) {\n_L820:\n    pcVar5 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5);\n    return;\n  }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(uVar9) {\n  case 10:\n    if (0x3fff < uVar7 + 0x2000) {\nLAB_00045c30:\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc00e | uVar7 * 2 & 0x3ff0 | (int)uVar7 >> 0xd & 1U;\n    break;\n  case 0xc:\n    uVar9 = uVar7 + 0x1ff8;\n    uVar7 = uVar7 - 8;\n    if (0x3fff < uVar9) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = (int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U | bVar2 & 0xffffe002 | uVar7 * 2 & 0x1ff8\n    ;\n    break;\n  case 0xe:\n    if (0x3fff < uVar7 + 0x2000) goto LAB_00045c30;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc000 | (int)uVar7 >> 0xd & 1U | uVar7 * 2 & 0x3ffe;\n    break;\n  case 0x10:\n    uVar8 = uVar7 * 2 & 0xffff;\n    uVar9 = bVar2 & 0xffff0000 | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\nLAB_000456fa:\n    uVar7 = uVar9 | uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000;\n    break;\n  case 0x16:\n_L918:\n    local_24 = *valP;\n    goto LAB_00045560;\n  case 0x20:\n    bVar4 = fixP->fx_r_type;\n    break;\n  case 0xfffffff0:\n    uVar9 = uVar7 & 0x8000;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffff0006 | (int)uVar9 >> 0xf | uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1 ^ uVar9;\n    break;\n  default:\n    goto _L820;\n  case 0xfffffff6:\n    uVar8 = uVar7 * 2 & 0xfff0;\n    uVar9 = bVar2 & 0xffff000e | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\n    goto LAB_000456fa;\n  }\nLAB_000455d0:\n  if (bVar4 != BFD_RELOC_ALPHA_LITERAL) {\n    if (bVar4 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar4 != BFD_RELOC_SPU_LO16) &&\n         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))) goto LAB_00045602;\n    }\n    else if ((bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_00045602;\n  }\n  if (fixP->fx_addsy != (symbolS *)0x0) {\n    S_SET_THREAD_LOCAL(fixP->fx_addsy);\n  }\nLAB_00045602:\n                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*stdoutput->xvec->bfd_putx32)(uVar7,pcVar5);\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "bfd_vma bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "bfd_reloc_code_real_type bVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "segT paVar6;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "symbolS *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "uint local_24;" type_identifier identifier ;) (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (if_statement "if (bVar4 - BFD_RELOC_MIPS_GOT_HI16 < 2) {\n    return;\n  }" if (parenthesized_expression "(bVar4 - BFD_RELOC_MIPS_GOT_HI16 < 2)" ( (binary_expression "bVar4 - BFD_RELOC_MIPS_GOT_HI16 < 2" (binary_expression "bVar4 - 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    pcVar5 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5,bVar4);\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    pcVar5 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5,bVar4);\n    return;\n  }" { (expression_statement "pcVar5 = (char *)dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);" (assignment_expression "pcVar5 = (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,pcVar5,bVar4);" (call_expression "as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5,bVar4)" identifier (argument_list "(fixP->fx_file,fixP->fx_line,pcVar5,bVar4)" ( (field_expression "fixP->fx_file" identifier -> field_identifier) , (field_expression "fixP->fx_line" identifier -> field_identifier) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar5 = fixP->fx_frag->fr_literal + fixP->fx_where;" (assignment_expression "pcVar5 = 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(pcVar5,*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(pcVar5,*valP,(uint)fixP->fx_size);\n    return;\n  }" { (expression_statement "number_to_chars_bigendian(pcVar5,*valP,(uint)fixP->fx_size);" (call_expression "number_to_chars_bigendian(pcVar5,*valP,(uint)fixP->fx_size)" identifier (argument_list "(pcVar5,*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 "bVar2 = (*stdoutput->xvec->bfd_getx32)(pcVar5);" (assignment_expression "bVar2 = (*stdoutput->xvec->bfd_getx32)(pcVar5)" identifier = (call_expression "(*stdoutput->xvec->bfd_getx32)(pcVar5)" (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 "(pcVar5)" ( identifier )))) ;) (switch_statement "switch(bVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar9 = 0x15;\n    break;\n  default:\n    uVar9 = 0x20;\n    goto LAB_000454d2;\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    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < stdoutput->arch_info->mach) {\n      uVar9 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar9 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar9 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = fixP->fx_addsy;\n    uVar9 = 0xb;\n    if (local_28 != (symbolS *)0x0) goto LAB_00045654;\n    bVar4 = fixP->fx_r_type;\njoined_r0x00045c85:\n    if (bVar4 == _dummy_first_bfd_reloc_code_real) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar9 = 0x11;\nLAB_00045405:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) {\n      bVar4 = fixP->fx_r_type;\n      goto joined_r0x00045c85;\n    }\n    if (uVar9 == 0x11) goto LAB_0004541d;\n    if (uVar9 != 0x16) goto LAB_0004547e;\n    uVar7 = 8;\n    goto LAB_000454f8;\n  case 0x3a:\n    uVar9 = 0x11;\n    if ((bVar2 & 0x8000) != 0) {\n      uVar9 = 0x16;\n      goto LAB_00045405;\n    }\n  }" switch (parenthesized_expression "(bVar2 >> 0x1a)" ( (binary_expression "bVar2 >> 0x1a" identifier >> number_literal) )) (compound_statement "{\n  case 8:\n  case 10:\n    uVar9 = 0x15;\n    break;\n  default:\n    uVar9 = 0x20;\n    goto LAB_000454d2;\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    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < stdoutput->arch_info->mach) {\n      uVar9 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar9 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar9 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = fixP->fx_addsy;\n    uVar9 = 0xb;\n    if (local_28 != (symbolS *)0x0) goto LAB_00045654;\n    bVar4 = fixP->fx_r_type;\njoined_r0x00045c85:\n    if (bVar4 == _dummy_first_bfd_reloc_code_real) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar9 = 0x11;\nLAB_00045405:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) {\n      bVar4 = fixP->fx_r_type;\n      goto joined_r0x00045c85;\n    }\n    if (uVar9 == 0x11) goto LAB_0004541d;\n    if (uVar9 != 0x16) goto LAB_0004547e;\n    uVar7 = 8;\n    goto LAB_000454f8;\n  case 0x3a:\n    uVar9 = 0x11;\n    if ((bVar2 & 0x8000) != 0) {\n      uVar9 = 0x16;\n      goto LAB_00045405;\n    }\n  }" { (case_statement "case 8:" case number_literal :) (case_statement "case 10:\n    uVar9 = 0x15;\n    break;" case number_literal : (expression_statement "uVar9 = 0x15;" (assignment_expression "uVar9 = 0x15" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n    uVar9 = 0x20;\n    goto LAB_000454d2;" default : (expression_statement "uVar9 = 0x20;" (assignment_expression "uVar9 = 0x20" identifier = number_literal) ;) (goto_statement "goto LAB_000454d2;" 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    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;\n    break;" case number_literal : (expression_statement "uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;" (assignment_expression "uVar9 = (-(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      uVar9 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar9 = 10;\n    break;" case number_literal : (if_statement "if (0x18 < stdoutput->arch_info->mach) {\n      uVar9 = 0xfffffff6;\n      goto LAB_000454d2;\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      uVar9 = 0xfffffff6;\n      goto LAB_000454d2;\n    }" { (expression_statement "uVar9 = 0xfffffff6;" (assignment_expression "uVar9 = 0xfffffff6" identifier = number_literal) ;) (goto_statement "goto LAB_000454d2;" goto statement_identifier ;) })) (expression_statement "uVar9 = 10;" (assignment_expression "uVar9 = 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    uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) goto LAB_00045898;\n    goto LAB_000454e1;" case number_literal : (expression_statement "uVar9 = (-(uint)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;" (assignment_expression "uVar9 = (-(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_000454d2:\n    local_28 = fixP->fx_addsy;" statement_identifier : (expression_statement "local_28 = fixP->fx_addsy;" (assignment_expression "local_28 = fixP->fx_addsy" identifier = (field_expression "fixP->fx_addsy" identifier -> field_identifier)) ;)) (if_statement "if (local_28 == (symbolS *)0x0) goto LAB_00045898;" if (parenthesized_expression "(local_28 == (symbolS *)0x0)" ( (binary_expression "local_28 == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00045898;" goto statement_identifier ;)) (goto_statement "goto LAB_000454e1;" 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    uVar9 = 0xc;\n    break;" case number_literal : (expression_statement "uVar9 = 0xc;" (assignment_expression "uVar9 = 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    local_28 = fixP->fx_addsy;\n    uVar9 = 0xb;\n    if (local_28 != (symbolS *)0x0) goto LAB_00045654;\n    bVar4 = fixP->fx_r_type;\njoined_r0x00045c85:\n    if (bVar4 == _dummy_first_bfd_reloc_code_real) goto LAB_00045654;\n    goto LAB_00045b1b;" case number_literal : (expression_statement "local_28 = fixP->fx_addsy;" (assignment_expression "local_28 = fixP->fx_addsy" identifier = (field_expression "fixP->fx_addsy" identifier -> field_identifier)) ;) (expression_statement "uVar9 = 0xb;" (assignment_expression "uVar9 = 0xb" identifier = number_literal) ;) (if_statement "if (local_28 != (symbolS *)0x0) goto LAB_00045654;" if (parenthesized_expression "(local_28 != (symbolS *)0x0)" ( (binary_expression "local_28 != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00045654;" goto statement_identifier ;)) (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (labeled_statement "joined_r0x00045c85:\n    if (bVar4 == _dummy_first_bfd_reloc_code_real) goto LAB_00045654;" statement_identifier : (if_statement "if (bVar4 == _dummy_first_bfd_reloc_code_real) goto LAB_00045654;" if (parenthesized_expression "(bVar4 == _dummy_first_bfd_reloc_code_real)" ( (binary_expression "bVar4 == _dummy_first_bfd_reloc_code_real" identifier == identifier) )) (goto_statement "goto LAB_00045654;" goto statement_identifier ;))) (goto_statement "goto LAB_00045b1b;" goto statement_identifier ;)) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n    uVar9 = 0x11;\nLAB_00045405:\n    local_28 = fixP->fx_addsy;\n    if (local_28 == (symbolS *)0x0) {\n      bVar4 = fixP->fx_r_type;\n      goto joined_r0x00045c85;\n    }\n    if (uVar9 == 0x11) goto LAB_0004541d;\n    if (uVar9 != 0x16) goto LAB_0004547e;\n    uVar7 = 8;\n    goto LAB_000454f8;" case number_literal : (expression_statement "uVar9 = 0x11;" (assignment_expression "uVar9 = 0x11" identifier = number_literal) ;) (labeled_statement "LAB_00045405:\n    local_28 = fixP->fx_addsy;" statement_identifier : (expression_statement "local_28 = fixP->fx_addsy;" (assignment_expression "local_28 = fixP->fx_addsy" identifier = (field_expression "fixP->fx_addsy" identifier -> field_identifier)) ;)) (if_statement "if (local_28 == (symbolS *)0x0) {\n      bVar4 = fixP->fx_r_type;\n      goto joined_r0x00045c85;\n    }" if (parenthesized_expression "(local_28 == (symbolS *)0x0)" ( (binary_expression "local_28 == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar4 = fixP->fx_r_type;\n      goto joined_r0x00045c85;\n    }" { (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x00045c85;" goto statement_identifier ;) })) (if_statement "if (uVar9 == 0x11) goto LAB_0004541d;" if (parenthesized_expression "(uVar9 == 0x11)" ( (binary_expression "uVar9 == 0x11" identifier == number_literal) )) (goto_statement "goto LAB_0004541d;" goto statement_identifier ;)) (if_statement "if (uVar9 != 0x16) goto LAB_0004547e;" if (parenthesized_expression "(uVar9 != 0x16)" ( (binary_expression "uVar9 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_0004547e;" goto statement_identifier ;)) (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_000454f8;" goto statement_identifier ;)) (case_statement "case 0x3a:\n    uVar9 = 0x11;\n    if ((bVar2 & 0x8000) != 0) {\n      uVar9 = 0x16;\n      goto LAB_00045405;\n    }" case number_literal : (expression_statement "uVar9 = 0x11;" (assignment_expression "uVar9 = 0x11" identifier = number_literal) ;) (if_statement "if ((bVar2 & 0x8000) != 0) {\n      uVar9 = 0x16;\n      goto LAB_00045405;\n    }" if (parenthesized_expression "((bVar2 & 0x8000) != 0)" ( (binary_expression "(bVar2 & 0x8000) != 0" (parenthesized_expression "(bVar2 & 0x8000)" ( (binary_expression "bVar2 & 0x8000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar9 = 0x16;\n      goto LAB_00045405;\n    }" { (expression_statement "uVar9 = 0x16;" (assignment_expression "uVar9 = 0x16" identifier = number_literal) ;) (goto_statement "goto LAB_00045405;" goto statement_identifier ;) }))) })) (expression_statement "local_28 = fixP->fx_addsy;" (assignment_expression "local_28 = fixP->fx_addsy" identifier = (field_expression "fixP->fx_addsy" identifier -> field_identifier)) ;) (if_statement "if (local_28 != (symbolS *)0x0) {\n    uVar7 = 0;\n    if ((0x421000U >> (uVar9 & 0x1f) & 1) == 0) goto _L799;\nLAB_00045468:\n    if ((uVar9 != 0x11) && (uVar9 != 0xc)) {\n      uVar7 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == (symbolS *)0x0) {\nLAB_0004547e:\n      uVar7 = 8;\n      goto _L799;\n    }\nLAB_0004541d:\n    uVar7 = 8;\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L799;\n    local_24 = *valP;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar9 != 0x11) {\n      if (uVar9 != 0x16) goto _L799;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if (iVar3 == 0) {\n        iVar3 = S_IS_WEAK(fixP->fx_addsy);\n        uVar7 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *valP;\n    }\n    bVar4 = fixP->fx_r_type;\n    if (((bVar4 != BFD_RELOC_24_PCREL) || ((bVar2 & 0xffe00000) != 0xe8000000)) ||\n       (local_24 + 0x3fff8 < 0x80000)) {\n      uVar9 = bVar2 & 0xffe0e002;\n      iVar3 = 0;\n      uVar7 = 0;\n      goto LAB_000455b7;\n    }\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar7 = local_24 - 8;\n    uVar11 = 0x3ffff;\n    uVar10 = 0xfffc0000;\nLAB_00045c5c:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar7);\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2;\n    goto LAB_000455d0;\n  }" if (parenthesized_expression "(local_28 != (symbolS *)0x0)" ( (binary_expression "local_28 != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar7 = 0;\n    if ((0x421000U >> (uVar9 & 0x1f) & 1) == 0) goto _L799;\nLAB_00045468:\n    if ((uVar9 != 0x11) && (uVar9 != 0xc)) {\n      uVar7 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == (symbolS *)0x0) {\nLAB_0004547e:\n      uVar7 = 8;\n      goto _L799;\n    }\nLAB_0004541d:\n    uVar7 = 8;\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L799;\n    local_24 = *valP;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar9 != 0x11) {\n      if (uVar9 != 0x16) goto _L799;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if (iVar3 == 0) {\n        iVar3 = S_IS_WEAK(fixP->fx_addsy);\n        uVar7 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *valP;\n    }\n    bVar4 = fixP->fx_r_type;\n    if (((bVar4 != BFD_RELOC_24_PCREL) || ((bVar2 & 0xffe00000) != 0xe8000000)) ||\n       (local_24 + 0x3fff8 < 0x80000)) {\n      uVar9 = bVar2 & 0xffe0e002;\n      iVar3 = 0;\n      uVar7 = 0;\n      goto LAB_000455b7;\n    }\n    format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n    uVar7 = local_24 - 8;\n    uVar11 = 0x3ffff;\n    uVar10 = 0xfffc0000;\nLAB_00045c5c:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar7);\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2;\n    goto LAB_000455d0;\n  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if ((0x421000U >> (uVar9 & 0x1f) & 1) == 0) goto _L799;" if (parenthesized_expression "((0x421000U >> (uVar9 & 0x1f) & 1) == 0)" ( (binary_expression "(0x421000U >> (uVar9 & 0x1f) & 1) == 0" (parenthesized_expression "(0x421000U >> (uVar9 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (uVar9 & 0x1f) & 1" (binary_expression "0x421000U >> (uVar9 & 0x1f)" number_literal >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (goto_statement "goto _L799;" goto statement_identifier ;)) (labeled_statement "LAB_00045468:\n    if ((uVar9 != 0x11) && (uVar9 != 0xc)) {\n      uVar7 = 8;\n      goto LAB_000454e3;\n    }" statement_identifier : (if_statement "if ((uVar9 != 0x11) && (uVar9 != 0xc)) {\n      uVar7 = 8;\n      goto LAB_000454e3;\n    }" if (parenthesized_expression "((uVar9 != 0x11) && (uVar9 != 0xc))" ( (binary_expression "(uVar9 != 0x11) && (uVar9 != 0xc)" (parenthesized_expression "(uVar9 != 0x11)" ( (binary_expression "uVar9 != 0x11" identifier != number_literal) )) && (parenthesized_expression "(uVar9 != 0xc)" ( (binary_expression "uVar9 != 0xc" identifier != number_literal) ))) )) (compound_statement "{\n      uVar7 = 8;\n      goto LAB_000454e3;\n    }" { (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_000454e3;" goto statement_identifier ;) }))) (if_statement "if (local_28 == (symbolS *)0x0) {\nLAB_0004547e:\n      uVar7 = 8;\n      goto _L799;\n    }" if (parenthesized_expression "(local_28 == (symbolS *)0x0)" ( (binary_expression "local_28 == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004547e:\n      uVar7 = 8;\n      goto _L799;\n    }" { (labeled_statement "LAB_0004547e:\n      uVar7 = 8;" statement_identifier : (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;)) (goto_statement "goto _L799;" goto statement_identifier ;) })) (labeled_statement "LAB_0004541d:\n    uVar7 = 8;" statement_identifier : (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;)) (if_statement "if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L799;" if (parenthesized_expression "((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       )" ( (binary_expression "(undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0" (call_expression "(undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1)" (parenthesized_expression "(undefined1  [60])" ( (subscript_expression "undefined1  [60]" identifier [ number_literal ]) )) (argument_list "((undefined1  [60])*fixP & (undefined1  [60])0x1)" ( (binary_expression "(undefined1  [60])*fixP & (undefined1  [60])0x1" (binary_expression "(undefined1  [60])*fixP" (parenthesized_expression "(undefined1  [60])" ( (subscript_expression "undefined1  [60]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [60])0x1" ( (type_descriptor "undefined1  [60]" type_identifier (abstract_array_declarator "[60]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [60])0x0" ( (type_descriptor "undefined1  [60]" type_identifier (abstract_array_declarator "[60]" [ number_literal ])) ) number_literal)) )) (goto_statement "goto _L799;" goto statement_identifier ;)) (expression_statement "local_24 = *valP;" (assignment_expression "local_24 = *valP" identifier = (pointer_expression "*valP" * identifier)) ;) (if_statement "if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;" if (parenthesized_expression "(local_24 + 0x1ff8 < 0x4000)" ( (binary_expression "local_24 + 0x1ff8 < 0x4000" (binary_expression "local_24 + 0x1ff8" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_00045bd8;" goto statement_identifier ;)) (if_statement "if (uVar9 != 0x11) {\n      if (uVar9 != 0x16) goto _L799;\n      goto LAB_0004551e;\n    }" if (parenthesized_expression "(uVar9 != 0x11)" ( (binary_expression "uVar9 != 0x11" identifier != number_literal) )) (compound_statement "{\n      if (uVar9 != 0x16) goto _L799;\n      goto LAB_0004551e;\n    }" { (if_statement "if (uVar9 != 0x16) goto _L799;" if (parenthesized_expression "(uVar9 != 0x16)" ( (binary_expression "uVar9 != 0x16" identifier != number_literal) )) (goto_statement "goto _L799;" goto statement_identifier ;)) (goto_statement "goto LAB_0004551e;" goto statement_identifier ;) })) (if_statement "if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if (iVar3 == 0) {\n        iVar3 = S_IS_WEAK(fixP->fx_addsy);\n        uVar7 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *valP;\n    }" if (parenthesized_expression "(local_24 + 0x3fff8 < 0x80000)" ( (binary_expression "local_24 + 0x3fff8 < 0x80000" (binary_expression "local_24 + 0x3fff8" identifier + number_literal) < number_literal) )) (compound_statement "{\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if (iVar3 == 0) {\n        iVar3 = S_IS_WEAK(fixP->fx_addsy);\n        uVar7 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *valP;\n    }" { (expression_statement "iVar3 = S_IS_EXTERNAL(local_28);" (assignment_expression "iVar3 = S_IS_EXTERNAL(local_28)" identifier = (call_expression "S_IS_EXTERNAL(local_28)" identifier (argument_list "(local_28)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = S_IS_WEAK(fixP->fx_addsy);\n        uVar7 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = S_IS_WEAK(fixP->fx_addsy);\n        uVar7 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }" { (expression_statement "iVar3 = S_IS_WEAK(fixP->fx_addsy);" (assignment_expression "iVar3 = 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) )))) ;) (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;) (if_statement "if (iVar3 == 0) goto LAB_00045a2c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00045a2c;" goto statement_identifier ;)) })) (expression_statement "local_24 = *valP;" (assignment_expression "local_24 = *valP" identifier = (pointer_expression "*valP" * identifier)) ;) })) (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (if_statement "if (((bVar4 != BFD_RELOC_24_PCREL) || ((bVar2 & 0xffe00000) != 0xe8000000)) ||\n       (local_24 + 0x3fff8 < 0x80000)) {\n      uVar9 = bVar2 & 0xffe0e002;\n      iVar3 = 0;\n      uVar7 = 0;\n      goto LAB_000455b7;\n    }" if (parenthesized_expression "(((bVar4 != BFD_RELOC_24_PCREL) || ((bVar2 & 0xffe00000) != 0xe8000000)) ||\n       (local_24 + 0x3fff8 < 0x80000))" ( (binary_expression "((bVar4 != BFD_RELOC_24_PCREL) || ((bVar2 & 0xffe00000) != 0xe8000000)) ||\n       (local_24 + 0x3fff8 < 0x80000)" (parenthesized_expression "((bVar4 != BFD_RELOC_24_PCREL) || ((bVar2 & 0xffe00000) != 0xe8000000))" ( (binary_expression "(bVar4 != BFD_RELOC_24_PCREL) || ((bVar2 & 0xffe00000) != 0xe8000000)" (parenthesized_expression "(bVar4 != BFD_RELOC_24_PCREL)" ( (binary_expression "bVar4 != BFD_RELOC_24_PCREL" identifier != identifier) )) || (parenthesized_expression "((bVar2 & 0xffe00000) != 0xe8000000)" ( (binary_expression "(bVar2 & 0xffe00000) != 0xe8000000" (parenthesized_expression "(bVar2 & 0xffe00000)" ( (binary_expression "bVar2 & 0xffe00000" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(local_24 + 0x3fff8 < 0x80000)" ( (binary_expression "local_24 + 0x3fff8 < 0x80000" (binary_expression "local_24 + 0x3fff8" identifier + number_literal) < number_literal) ))) )) (compound_statement "{\n      uVar9 = bVar2 & 0xffe0e002;\n      iVar3 = 0;\n      uVar7 = 0;\n      goto LAB_000455b7;\n    }" { (expression_statement "uVar9 = bVar2 & 0xffe0e002;" (assignment_expression "uVar9 = bVar2 & 0xffe0e002" identifier = (binary_expression "bVar2 & 0xffe0e002" identifier & number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000455b7;" 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 "uVar7 = local_24 - 8;" (assignment_expression "uVar7 = local_24 - 8" identifier = (binary_expression "local_24 - 8" identifier - number_literal)) ;) (expression_statement "uVar11 = 0x3ffff;" (assignment_expression "uVar11 = 0x3ffff" identifier = number_literal) ;) (expression_statement "uVar10 = 0xfffc0000;" (assignment_expression "uVar10 = 0xfffc0000" identifier = number_literal) ;) (labeled_statement "LAB_00045c5c:\n    as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar7);" statement_identifier : (expression_statement "as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar7);" (call_expression "as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar7)" identifier (argument_list "(fixP->fx_file,fixP->fx_line,format,uVar10,uVar11,uVar7)" ( (field_expression "fixP->fx_file" identifier -> field_identifier) , (field_expression "fixP->fx_line" identifier -> field_identifier) , identifier , identifier , identifier , identifier ))) ;)) (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (expression_statement "uVar7 = bVar2;" (assignment_expression "uVar7 = bVar2" identifier = identifier) ;) (goto_statement "goto LAB_000455d0;" goto statement_identifier ;) })) (labeled_statement "LAB_00045898:\n  if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {\n    local_28 = (symbolS *)0x0;\n    if (uVar9 < 0x17) {\nLAB_00045654:\n      uVar7 = 0;\n      if ((0x421000U >> (uVar9 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar7 = 0;\n    }\nLAB_000454e3:\n    if (uVar9 != 0x16) goto _L799;\n    if (local_28 == (symbolS *)0x0) {\n      local_28 = (symbolS *)*valP;\n      goto LAB_00045b61;\n    }\nLAB_000454f8:\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L918;\n    local_24 = *valP;\n    uVar9 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L799;\nLAB_00045a2c:\n      paVar6 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar6 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))) {\n        uVar7 = *valP;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L799;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L918;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    bVar4 = fixP->fx_r_type;\n    if (((bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000)) &&\n       (0xffffff < local_24 + 0x7ffff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar7 = local_24 - 8;\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\n    else {\n      uVar9 = uVar7 - 8;\n      if (uVar7 + 0x7ffff8 < 0x1000000) {\n        iVar3 = (int)uVar9 >> 2;\n        uVar7 = iVar3 << 5;\n        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;\nLAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;\n        goto LAB_000455d0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar7 = uVar9;\n    }\n    goto LAB_00045c5c;\n  }" statement_identifier : (if_statement "if (fixP->fx_r_type == _dummy_first_bfd_reloc_code_real) {\n    local_28 = (symbolS *)0x0;\n    if (uVar9 < 0x17) {\nLAB_00045654:\n      uVar7 = 0;\n      if ((0x421000U >> (uVar9 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar7 = 0;\n    }\nLAB_000454e3:\n    if (uVar9 != 0x16) goto _L799;\n    if (local_28 == (symbolS *)0x0) {\n      local_28 = (symbolS *)*valP;\n      goto LAB_00045b61;\n    }\nLAB_000454f8:\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L918;\n    local_24 = *valP;\n    uVar9 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L799;\nLAB_00045a2c:\n      paVar6 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar6 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))) {\n        uVar7 = *valP;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L799;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L918;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    bVar4 = fixP->fx_r_type;\n    if (((bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000)) &&\n       (0xffffff < local_24 + 0x7ffff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar7 = local_24 - 8;\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\n    else {\n      uVar9 = uVar7 - 8;\n      if (uVar7 + 0x7ffff8 < 0x1000000) {\n        iVar3 = (int)uVar9 >> 2;\n        uVar7 = iVar3 << 5;\n        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;\nLAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;\n        goto LAB_000455d0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar7 = uVar9;\n    }\n    goto LAB_00045c5c;\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    local_28 = (symbolS *)0x0;\n    if (uVar9 < 0x17) {\nLAB_00045654:\n      uVar7 = 0;\n      if ((0x421000U >> (uVar9 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar7 = 0;\n    }\nLAB_000454e3:\n    if (uVar9 != 0x16) goto _L799;\n    if (local_28 == (symbolS *)0x0) {\n      local_28 = (symbolS *)*valP;\n      goto LAB_00045b61;\n    }\nLAB_000454f8:\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L918;\n    local_24 = *valP;\n    uVar9 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L799;\nLAB_00045a2c:\n      paVar6 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar6 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))) {\n        uVar7 = *valP;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L799;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L918;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    bVar4 = fixP->fx_r_type;\n    if (((bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000)) &&\n       (0xffffff < local_24 + 0x7ffff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar7 = local_24 - 8;\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\n    else {\n      uVar9 = uVar7 - 8;\n      if (uVar7 + 0x7ffff8 < 0x1000000) {\n        iVar3 = (int)uVar9 >> 2;\n        uVar7 = iVar3 << 5;\n        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;\nLAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;\n        goto LAB_000455d0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar7 = uVar9;\n    }\n    goto LAB_00045c5c;\n  }" { (expression_statement "local_28 = (symbolS *)0x0;" (assignment_expression "local_28 = (symbolS *)0x0" identifier = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar9 < 0x17) {\nLAB_00045654:\n      uVar7 = 0;\n      if ((0x421000U >> (uVar9 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar7 = 0;\n    }" if (parenthesized_expression "(uVar9 < 0x17)" ( (binary_expression "uVar9 < 0x17" identifier < number_literal) )) (compound_statement "{\nLAB_00045654:\n      uVar7 = 0;\n      if ((0x421000U >> (uVar9 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }" { (labeled_statement "LAB_00045654:\n      uVar7 = 0;" statement_identifier : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;)) (if_statement "if ((0x421000U >> (uVar9 & 0x1f) & 1) != 0) goto LAB_00045468;" if (parenthesized_expression "((0x421000U >> (uVar9 & 0x1f) & 1) != 0)" ( (binary_expression "(0x421000U >> (uVar9 & 0x1f) & 1) != 0" (parenthesized_expression "(0x421000U >> (uVar9 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (uVar9 & 0x1f) & 1" (binary_expression "0x421000U >> (uVar9 & 0x1f)" number_literal >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00045468;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_000454e1:\n      uVar7 = 0;\n    }" else (compound_statement "{\nLAB_000454e1:\n      uVar7 = 0;\n    }" { (labeled_statement "LAB_000454e1:\n      uVar7 = 0;" statement_identifier : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;)) }))) (labeled_statement "LAB_000454e3:\n    if (uVar9 != 0x16) goto _L799;" statement_identifier : (if_statement "if (uVar9 != 0x16) goto _L799;" if (parenthesized_expression "(uVar9 != 0x16)" ( (binary_expression "uVar9 != 0x16" identifier != number_literal) )) (goto_statement "goto _L799;" goto statement_identifier ;))) (if_statement "if (local_28 == (symbolS *)0x0) {\n      local_28 = (symbolS *)*valP;\n      goto LAB_00045b61;\n    }" if (parenthesized_expression "(local_28 == (symbolS *)0x0)" ( (binary_expression "local_28 == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_28 = (symbolS *)*valP;\n      goto LAB_00045b61;\n    }" { (expression_statement "local_28 = (symbolS *)*valP;" (assignment_expression "local_28 = (symbolS *)*valP" identifier = (cast_expression "(symbolS *)*valP" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*valP" * identifier))) ;) (goto_statement "goto LAB_00045b61;" goto statement_identifier ;) })) (labeled_statement "LAB_000454f8:\n    if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L918;" statement_identifier : (if_statement "if ((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       ) goto _L918;" if (parenthesized_expression "((undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0\n       )" ( (binary_expression "(undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1) == (undefined1  [60])0x0" (call_expression "(undefined1  [60])((undefined1  [60])*fixP & (undefined1  [60])0x1)" (parenthesized_expression "(undefined1  [60])" ( (subscript_expression "undefined1  [60]" identifier [ number_literal ]) )) (argument_list "((undefined1  [60])*fixP & (undefined1  [60])0x1)" ( (binary_expression "(undefined1  [60])*fixP & (undefined1  [60])0x1" (binary_expression "(undefined1  [60])*fixP" (parenthesized_expression "(undefined1  [60])" ( (subscript_expression "undefined1  [60]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [60])0x1" ( (type_descriptor "undefined1  [60]" type_identifier (abstract_array_declarator "[60]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [60])0x0" ( (type_descriptor "undefined1  [60]" type_identifier (abstract_array_declarator "[60]" [ number_literal ])) ) number_literal)) )) (goto_statement "goto _L918;" goto statement_identifier ;))) (expression_statement "local_24 = *valP;" (assignment_expression "local_24 = *valP" identifier = (pointer_expression "*valP" * identifier)) ;) (expression_statement "uVar9 = 0x16;" (assignment_expression "uVar9 = 0x16" identifier = number_literal) ;) (if_statement "if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L799;\nLAB_00045a2c:\n      paVar6 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar6 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))) {\n        uVar7 = *valP;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L799;\n    }" if (parenthesized_expression "(local_24 + 0x1ff8 < 0x4000)" ( (binary_expression "local_24 + 0x1ff8 < 0x4000" (binary_expression "local_24 + 0x1ff8" identifier + number_literal) < number_literal) )) (compound_statement "{\nLAB_00045bd8:\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L799;\nLAB_00045a2c:\n      paVar6 = S_GET_SEGMENT(fixP->fx_addsy);\n      if ((paVar6 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))) {\n        uVar7 = *valP;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }\n      goto _L799;\n    }" { (labeled_statement "LAB_00045bd8:\n      iVar3 = S_IS_EXTERNAL(local_28);" statement_identifier : (expression_statement "iVar3 = S_IS_EXTERNAL(local_28);" (assignment_expression "iVar3 = S_IS_EXTERNAL(local_28)" identifier = (call_expression "S_IS_EXTERNAL(local_28)" identifier (argument_list "(local_28)" ( identifier )))) ;)) (if_statement "if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L799;" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)" ( (comma_expression "iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0" (assignment_expression "iVar3 = 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 "iVar3 != 0" identifier != number_literal)) ))) )) (goto_statement "goto _L799;" goto statement_identifier ;)) (labeled_statement "LAB_00045a2c:\n      paVar6 = S_GET_SEGMENT(fixP->fx_addsy);" statement_identifier : (expression_statement "paVar6 = S_GET_SEGMENT(fixP->fx_addsy);" (assignment_expression "paVar6 = 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 ((paVar6 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))) {\n        uVar7 = *valP;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }" if (parenthesized_expression "((paVar6 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4]))))" ( (binary_expression "(paVar6 == (segT)puVar1[4]) &&\n         ((fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))" (parenthesized_expression "(paVar6 == (segT)puVar1[4])" ( (binary_expression "paVar6 == (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          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])))" ( (parenthesized_expression "(fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4]))" ( (binary_expression "fixP->fx_subsy == (symbolS *)0x0 ||\n          (paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (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 "(paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4])" ( (comma_expression "paVar6 = S_GET_SEGMENT(fixP->fx_subsy), paVar6 == (segT)puVar1[4]" (assignment_expression "paVar6 = 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 "paVar6 == (segT)puVar1[4]" identifier == (cast_expression "(segT)puVar1[4]" ( (type_descriptor "segT" type_identifier) ) (subscript_expression "puVar1[4]" identifier [ number_literal ])))) ))) )) ))) )) (compound_statement "{\n        uVar7 = *valP;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");\n        }\n      }" { (expression_statement "uVar7 = *valP;" (assignment_expression "uVar7 = *valP" identifier = (pointer_expression "*valP" * identifier)) ;) (switch_statement "switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_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          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar7 = (int)uVar7 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;\n        case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;\n        case 9:\n          uVar7 = 0;\n          break;\n        default:\nswitchD_00045aa1_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          uVar7 = (int)(uVar7 + 0x400) >> 0xb;\n          break;" case number_literal : (expression_statement "uVar7 = (int)(uVar7 + 0x400) >> 0xb;" (assignment_expression "uVar7 = (int)(uVar7 + 0x400) >> 0xb" identifier = (binary_expression "(int)(uVar7 + 0x400) >> 0xb" (cast_expression "(int)(uVar7 + 0x400)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 + 0x400)" ( (binary_expression "uVar7 + 0x400" identifier + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          uVar7 = (int)(uVar7 << 0x15) >> 0x15;\n          break;" case number_literal : (expression_statement "uVar7 = (int)(uVar7 << 0x15) >> 0x15;" (assignment_expression "uVar7 = (int)(uVar7 << 0x15) >> 0x15" identifier = (binary_expression "(int)(uVar7 << 0x15) >> 0x15" (cast_expression "(int)(uVar7 << 0x15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 << 0x15)" ( (binary_expression "uVar7 << 0x15" identifier << number_literal) ))) >> 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          uVar7 = (int)uVar7 >> 0xb;\n          break;" case number_literal : (expression_statement "uVar7 = (int)uVar7 >> 0xb;" (assignment_expression "uVar7 = (int)uVar7 >> 0xb" identifier = (binary_expression "(int)uVar7 >> 0xb" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 8:\n          uVar7 = uVar7 & 0x7ff;\n          break;" case number_literal : (expression_statement "uVar7 = uVar7 & 0x7ff;" (assignment_expression "uVar7 = uVar7 & 0x7ff" identifier = (binary_expression "uVar7 & 0x7ff" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n          uVar7 = (int)(uVar7 + 0x800) >> 0xb;\n          break;" case number_literal : (expression_statement "uVar7 = (int)(uVar7 + 0x800) >> 0xb;" (assignment_expression "uVar7 = (int)(uVar7 + 0x800) >> 0xb" identifier = (binary_expression "(int)(uVar7 + 0x800) >> 0xb" (cast_expression "(int)(uVar7 + 0x800)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 + 0x800)" ( (binary_expression "uVar7 + 0x800" identifier + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n          uVar7 = uVar7 | 0xfffff800;\n          break;" case number_literal : (expression_statement "uVar7 = uVar7 | 0xfffff800;" (assignment_expression "uVar7 = uVar7 | 0xfffff800" identifier = (binary_expression "uVar7 | 0xfffff800" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n          uVar7 = 0;\n          break;" case number_literal : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\nswitchD_00045aa1_caseD_c:\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");" default : (labeled_statement "switchD_00045aa1_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 _L799;" goto statement_identifier ;) })) (labeled_statement "LAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L918;\n      goto LAB_00045a2c;\n    }" statement_identifier : (if_statement "if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L918;\n      goto LAB_00045a2c;\n    }" if (parenthesized_expression "(local_24 + 0x7ffff8 < 0x1000000)" ( (binary_expression "local_24 + 0x7ffff8 < 0x1000000" (binary_expression "local_24 + 0x7ffff8" identifier + number_literal) < number_literal) )) (compound_statement "{\n      iVar3 = S_IS_EXTERNAL(local_28);\n      if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L918;\n      goto LAB_00045a2c;\n    }" { (expression_statement "iVar3 = S_IS_EXTERNAL(local_28);" (assignment_expression "iVar3 = S_IS_EXTERNAL(local_28)" identifier = (call_expression "S_IS_EXTERNAL(local_28)" identifier (argument_list "(local_28)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)) goto _L918;" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0)" ( (comma_expression "iVar3 = S_IS_WEAK(fixP->fx_addsy), iVar3 != 0" (assignment_expression "iVar3 = 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 "iVar3 != 0" identifier != number_literal)) ))) )) (goto_statement "goto _L918;" goto statement_identifier ;)) (goto_statement "goto LAB_00045a2c;" goto statement_identifier ;) }))) (labeled_statement "LAB_00045560:\n    bVar4 = fixP->fx_r_type;" statement_identifier : (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;)) (if_statement "if (((bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000)) &&\n       (0xffffff < local_24 + 0x7ffff8)) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar7 = local_24 - 8;\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n    }\n    else {\n      uVar9 = uVar7 - 8;\n      if (uVar7 + 0x7ffff8 < 0x1000000) {\n        iVar3 = (int)uVar9 >> 2;\n        uVar7 = iVar3 << 5;\n        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;\nLAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;\n        goto LAB_000455d0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar7 = uVar9;\n    }" if (parenthesized_expression "(((bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000)) &&\n       (0xffffff < local_24 + 0x7ffff8))" ( (binary_expression "((bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000)) &&\n       (0xffffff < local_24 + 0x7ffff8)" (parenthesized_expression "((bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000))" ( (binary_expression "(bVar4 == BFD_RELOC_24_PCREL) && ((bVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(bVar4 == BFD_RELOC_24_PCREL)" ( (binary_expression "bVar4 == BFD_RELOC_24_PCREL" identifier == identifier) )) && (parenthesized_expression "((bVar2 & 0xffe00000) == 0xe8000000)" ( (binary_expression "(bVar2 & 0xffe00000) == 0xe8000000" (parenthesized_expression "(bVar2 & 0xffe00000)" ( (binary_expression "bVar2 & 0xffe00000" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(0xffffff < local_24 + 0x7ffff8)" ( (binary_expression "0xffffff < local_24 + 0x7ffff8" number_literal < (binary_expression "local_24 + 0x7ffff8" identifier + number_literal)) ))) )) (compound_statement "{\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar7 = local_24 - 8;\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\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 "uVar7 = local_24 - 8;" (assignment_expression "uVar7 = local_24 - 8" identifier = (binary_expression "local_24 - 8" identifier - number_literal)) ;) (expression_statement "uVar11 = 0x7fffff;" (assignment_expression "uVar11 = 0x7fffff" identifier = number_literal) ;) (expression_statement "uVar10 = 0xff800000;" (assignment_expression "uVar10 = 0xff800000" identifier = number_literal) ;) }) (else_clause "else {\n      uVar9 = uVar7 - 8;\n      if (uVar7 + 0x7ffff8 < 0x1000000) {\n        iVar3 = (int)uVar9 >> 2;\n        uVar7 = iVar3 << 5;\n        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;\nLAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;\n        goto LAB_000455d0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar7 = uVar9;\n    }" else (compound_statement "{\n      uVar9 = uVar7 - 8;\n      if (uVar7 + 0x7ffff8 < 0x1000000) {\n        iVar3 = (int)uVar9 >> 2;\n        uVar7 = iVar3 << 5;\n        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;\nLAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;\n        goto LAB_000455d0;\n      }\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x7fffff;\n      uVar10 = 0xff800000;\n      uVar7 = uVar9;\n    }" { (expression_statement "uVar9 = uVar7 - 8;" (assignment_expression "uVar9 = uVar7 - 8" identifier = (binary_expression "uVar7 - 8" identifier - number_literal)) ;) (if_statement "if (uVar7 + 0x7ffff8 < 0x1000000) {\n        iVar3 = (int)uVar9 >> 2;\n        uVar7 = iVar3 << 5;\n        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;\nLAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;\n        goto LAB_000455d0;\n      }" if (parenthesized_expression "(uVar7 + 0x7ffff8 < 0x1000000)" ( (binary_expression "uVar7 + 0x7ffff8 < 0x1000000" (binary_expression "uVar7 + 0x7ffff8" identifier + number_literal) < number_literal) )) (compound_statement "{\n        iVar3 = (int)uVar9 >> 2;\n        uVar7 = iVar3 << 5;\n        uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;\nLAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;\n        goto LAB_000455d0;\n      }" { (expression_statement "iVar3 = (int)uVar9 >> 2;" (assignment_expression "iVar3 = (int)uVar9 >> 2" identifier = (binary_expression "(int)uVar9 >> 2" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "uVar7 = iVar3 << 5;" (assignment_expression "uVar7 = iVar3 << 5" identifier = (binary_expression "iVar3 << 5" identifier << number_literal)) ;) (expression_statement "uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000;" (assignment_expression "uVar9 = bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000" identifier = (binary_expression "bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U |\n                uVar7 & 0x3e00000" (binary_expression "bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U | (int)uVar9 >> 0x17 & 1U" (binary_expression "bVar2 & 0xfc00e002 | (int)uVar9 >> 10 & 4U" (binary_expression "bVar2 & 0xfc00e002" identifier & number_literal) | (binary_expression "(int)uVar9 >> 10 & 4U" (binary_expression "(int)uVar9 >> 10" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) | (binary_expression "(int)uVar9 >> 0x17 & 1U" (binary_expression "(int)uVar9 >> 0x17" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) | (binary_expression "uVar7 & 0x3e00000" identifier & number_literal))) ;) (labeled_statement "LAB_000455b7:\n        uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;" statement_identifier : (expression_statement "uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U;" (assignment_expression "uVar7 = uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U" identifier = (binary_expression "uVar9 | uVar7 & 0x1f0000 | iVar3 * 8 & 0x1ff8U" (binary_expression "uVar9 | uVar7 & 0x1f0000" identifier | (binary_expression "uVar7 & 0x1f0000" identifier & number_literal)) | (binary_expression "iVar3 * 8 & 0x1ff8U" (binary_expression "iVar3 * 8" identifier * number_literal) & number_literal))) ;)) (goto_statement "goto LAB_000455d0;" 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) ;) (expression_statement "uVar7 = uVar9;" (assignment_expression "uVar7 = uVar9" identifier = identifier) ;) }))) (goto_statement "goto LAB_00045c5c;" goto statement_identifier ;) }))) (labeled_statement "LAB_00045b1b:\n  local_28 = (symbolS *)*valP;" statement_identifier : (expression_statement "local_28 = (symbolS *)*valP;" (assignment_expression "local_28 = (symbolS *)*valP" identifier = (cast_expression "(symbolS *)*valP" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*valP" * identifier))) ;)) (switch_statement "switch(*puVar1) {\n  case 0:\n    uVar7 = (uint)local_28;\n    if ((uVar9 == 0xc) || (uVar9 == 0x11)) goto _L799;\n    goto LAB_00045b58;\n  case 1:\n    uVar7 = (int)((int)local_28 + 0x400U) >> 0xb;\n    break;\n  case 2:\n    uVar7 = ((int)local_28 << 0x15) >> 0x15;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    uVar7 = (int)local_28 >> 0xb;\n    break;\n  case 4:\n  case 8:\n    uVar7 = (uint)local_28 & 0x7ff;\n    break;\n  case 5:\n    uVar7 = (int)((int)local_28 + 0x800U) >> 0xb;\n    break;\n  case 6:\n    uVar7 = (uint)local_28 | 0xfffff800;\n    break;\n  case 9:\n    uVar7 = 0;\n    break;\n  default:\n    goto switchD_00045aa1_caseD_c;\n  }" switch (parenthesized_expression "(*puVar1)" ( (pointer_expression "*puVar1" * identifier) )) (compound_statement "{\n  case 0:\n    uVar7 = (uint)local_28;\n    if ((uVar9 == 0xc) || (uVar9 == 0x11)) goto _L799;\n    goto LAB_00045b58;\n  case 1:\n    uVar7 = (int)((int)local_28 + 0x400U) >> 0xb;\n    break;\n  case 2:\n    uVar7 = ((int)local_28 << 0x15) >> 0x15;\n    break;\n  case 3:\n  case 7:\n  case 10:\n  case 0xb:\n    uVar7 = (int)local_28 >> 0xb;\n    break;\n  case 4:\n  case 8:\n    uVar7 = (uint)local_28 & 0x7ff;\n    break;\n  case 5:\n    uVar7 = (int)((int)local_28 + 0x800U) >> 0xb;\n    break;\n  case 6:\n    uVar7 = (uint)local_28 | 0xfffff800;\n    break;\n  case 9:\n    uVar7 = 0;\n    break;\n  default:\n    goto switchD_00045aa1_caseD_c;\n  }" { (case_statement "case 0:\n    uVar7 = (uint)local_28;\n    if ((uVar9 == 0xc) || (uVar9 == 0x11)) goto _L799;\n    goto LAB_00045b58;" case number_literal : (expression_statement "uVar7 = (uint)local_28;" (assignment_expression "uVar7 = (uint)local_28" identifier = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((uVar9 == 0xc) || (uVar9 == 0x11)) goto _L799;" if (parenthesized_expression "((uVar9 == 0xc) || (uVar9 == 0x11))" ( (binary_expression "(uVar9 == 0xc) || (uVar9 == 0x11)" (parenthesized_expression "(uVar9 == 0xc)" ( (binary_expression "uVar9 == 0xc" identifier == number_literal) )) || (parenthesized_expression "(uVar9 == 0x11)" ( (binary_expression "uVar9 == 0x11" identifier == number_literal) ))) )) (goto_statement "goto _L799;" goto statement_identifier ;)) (goto_statement "goto LAB_00045b58;" goto statement_identifier ;)) (case_statement "case 1:\n    uVar7 = (int)((int)local_28 + 0x400U) >> 0xb;\n    break;" case number_literal : (expression_statement "uVar7 = (int)((int)local_28 + 0x400U) >> 0xb;" (assignment_expression "uVar7 = (int)((int)local_28 + 0x400U) >> 0xb" identifier = (binary_expression "(int)((int)local_28 + 0x400U) >> 0xb" (cast_expression "(int)((int)local_28 + 0x400U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_28 + 0x400U)" ( (binary_expression "(int)local_28 + 0x400U" (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n    uVar7 = ((int)local_28 << 0x15) >> 0x15;\n    break;" case number_literal : (expression_statement "uVar7 = ((int)local_28 << 0x15) >> 0x15;" (assignment_expression "uVar7 = ((int)local_28 << 0x15) >> 0x15" identifier = (binary_expression "((int)local_28 << 0x15) >> 0x15" (parenthesized_expression "((int)local_28 << 0x15)" ( (binary_expression "(int)local_28 << 0x15" (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )) >> 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    uVar7 = (int)local_28 >> 0xb;\n    break;" case number_literal : (expression_statement "uVar7 = (int)local_28 >> 0xb;" (assignment_expression "uVar7 = (int)local_28 >> 0xb" identifier = (binary_expression "(int)local_28 >> 0xb" (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 8:\n    uVar7 = (uint)local_28 & 0x7ff;\n    break;" case number_literal : (expression_statement "uVar7 = (uint)local_28 & 0x7ff;" (assignment_expression "uVar7 = (uint)local_28 & 0x7ff" identifier = (binary_expression "(uint)local_28 & 0x7ff" (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n    uVar7 = (int)((int)local_28 + 0x800U) >> 0xb;\n    break;" case number_literal : (expression_statement "uVar7 = (int)((int)local_28 + 0x800U) >> 0xb;" (assignment_expression "uVar7 = (int)((int)local_28 + 0x800U) >> 0xb" identifier = (binary_expression "(int)((int)local_28 + 0x800U) >> 0xb" (cast_expression "(int)((int)local_28 + 0x800U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_28 + 0x800U)" ( (binary_expression "(int)local_28 + 0x800U" (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n    uVar7 = (uint)local_28 | 0xfffff800;\n    break;" case number_literal : (expression_statement "uVar7 = (uint)local_28 | 0xfffff800;" (assignment_expression "uVar7 = (uint)local_28 | 0xfffff800" identifier = (binary_expression "(uint)local_28 | 0xfffff800" (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n    uVar7 = 0;\n    break;" case number_literal : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n    goto switchD_00045aa1_caseD_c;" default : (goto_statement "goto switchD_00045aa1_caseD_c;" goto statement_identifier ;)) })) (if_statement "if ((uVar9 != 0xc) && (uVar9 != 0x11)) {\nLAB_00045b58:\n    if (uVar9 == 0x16) {\nLAB_00045b61:\n      local_24 = (uint)local_28;\n      goto LAB_00045560;\n    }\n  }" if (parenthesized_expression "((uVar9 != 0xc) && (uVar9 != 0x11))" ( (binary_expression "(uVar9 != 0xc) && (uVar9 != 0x11)" (parenthesized_expression "(uVar9 != 0xc)" ( (binary_expression "uVar9 != 0xc" identifier != number_literal) )) && (parenthesized_expression "(uVar9 != 0x11)" ( (binary_expression "uVar9 != 0x11" identifier != number_literal) ))) )) (compound_statement "{\nLAB_00045b58:\n    if (uVar9 == 0x16) {\nLAB_00045b61:\n      local_24 = (uint)local_28;\n      goto LAB_00045560;\n    }\n  }" { (labeled_statement "LAB_00045b58:\n    if (uVar9 == 0x16) {\nLAB_00045b61:\n      local_24 = (uint)local_28;\n      goto LAB_00045560;\n    }" statement_identifier : (if_statement "if (uVar9 == 0x16) {\nLAB_00045b61:\n      local_24 = (uint)local_28;\n      goto LAB_00045560;\n    }" if (parenthesized_expression "(uVar9 == 0x16)" ( (binary_expression "uVar9 == 0x16" identifier == number_literal) )) (compound_statement "{\nLAB_00045b61:\n      local_24 = (uint)local_28;\n      goto LAB_00045560;\n    }" { (labeled_statement "LAB_00045b61:\n      local_24 = (uint)local_28;" statement_identifier : (expression_statement "local_24 = (uint)local_28;" (assignment_expression "local_24 = (uint)local_28" identifier = (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (goto_statement "goto LAB_00045560;" goto statement_identifier ;) }))) })) (labeled_statement "_L799:\n  if (0x30 < uVar9 + 0x10) {\n_L820:\n    pcVar5 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5);\n    return;\n  }" statement_identifier : (if_statement "if (0x30 < uVar9 + 0x10) {\n_L820:\n    pcVar5 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5);\n    return;\n  }" if (parenthesized_expression "(0x30 < uVar9 + 0x10)" ( (binary_expression "0x30 < uVar9 + 0x10" number_literal < (binary_expression "uVar9 + 0x10" identifier + number_literal)) )) (compound_statement "{\n_L820:\n    pcVar5 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5);\n    return;\n  }" { (labeled_statement "_L820:\n    pcVar5 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);" statement_identifier : (expression_statement "pcVar5 = (char *)dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);" (assignment_expression "pcVar5 = (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,pcVar5);" (call_expression "as_bad_where(fixP->fx_file,fixP->fx_line,pcVar5)" identifier (argument_list "(fixP->fx_file,fixP->fx_line,pcVar5)" ( (field_expression "fixP->fx_file" identifier -> field_identifier) , (field_expression "fixP->fx_line" identifier -> field_identifier) , identifier ))) ;) (return_statement "return;" return ;) }))) comment (switch_statement "switch(uVar9) {\n  case 10:\n    if (0x3fff < uVar7 + 0x2000) {\nLAB_00045c30:\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc00e | uVar7 * 2 & 0x3ff0 | (int)uVar7 >> 0xd & 1U;\n    break;\n  case 0xc:\n    uVar9 = uVar7 + 0x1ff8;\n    uVar7 = uVar7 - 8;\n    if (0x3fff < uVar9) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = (int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U | bVar2 & 0xffffe002 | uVar7 * 2 & 0x1ff8\n    ;\n    break;\n  case 0xe:\n    if (0x3fff < uVar7 + 0x2000) goto LAB_00045c30;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc000 | (int)uVar7 >> 0xd & 1U | uVar7 * 2 & 0x3ffe;\n    break;\n  case 0x10:\n    uVar8 = uVar7 * 2 & 0xffff;\n    uVar9 = bVar2 & 0xffff0000 | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\nLAB_000456fa:\n    uVar7 = uVar9 | uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000;\n    break;\n  case 0x16:\n_L918:\n    local_24 = *valP;\n    goto LAB_00045560;\n  case 0x20:\n    bVar4 = fixP->fx_r_type;\n    break;\n  case 0xfffffff0:\n    uVar9 = uVar7 & 0x8000;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffff0006 | (int)uVar9 >> 0xf | uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1 ^ uVar9;\n    break;\n  default:\n    goto _L820;\n  case 0xfffffff6:\n    uVar8 = uVar7 * 2 & 0xfff0;\n    uVar9 = bVar2 & 0xffff000e | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\n    goto LAB_000456fa;\n  }" switch (parenthesized_expression "(uVar9)" ( identifier )) (compound_statement "{\n  case 10:\n    if (0x3fff < uVar7 + 0x2000) {\nLAB_00045c30:\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc00e | uVar7 * 2 & 0x3ff0 | (int)uVar7 >> 0xd & 1U;\n    break;\n  case 0xc:\n    uVar9 = uVar7 + 0x1ff8;\n    uVar7 = uVar7 - 8;\n    if (0x3fff < uVar9) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = (int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U | bVar2 & 0xffffe002 | uVar7 * 2 & 0x1ff8\n    ;\n    break;\n  case 0xe:\n    if (0x3fff < uVar7 + 0x2000) goto LAB_00045c30;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc000 | (int)uVar7 >> 0xd & 1U | uVar7 * 2 & 0x3ffe;\n    break;\n  case 0x10:\n    uVar8 = uVar7 * 2 & 0xffff;\n    uVar9 = bVar2 & 0xffff0000 | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\nLAB_000456fa:\n    uVar7 = uVar9 | uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000;\n    break;\n  case 0x16:\n_L918:\n    local_24 = *valP;\n    goto LAB_00045560;\n  case 0x20:\n    bVar4 = fixP->fx_r_type;\n    break;\n  case 0xfffffff0:\n    uVar9 = uVar7 & 0x8000;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffff0006 | (int)uVar9 >> 0xf | uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1 ^ uVar9;\n    break;\n  default:\n    goto _L820;\n  case 0xfffffff6:\n    uVar8 = uVar7 * 2 & 0xfff0;\n    uVar9 = bVar2 & 0xffff000e | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\n    goto LAB_000456fa;\n  }" { (case_statement "case 10:\n    if (0x3fff < uVar7 + 0x2000) {\nLAB_00045c30:\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc00e | uVar7 * 2 & 0x3ff0 | (int)uVar7 >> 0xd & 1U;\n    break;" case number_literal : (if_statement "if (0x3fff < uVar7 + 0x2000) {\nLAB_00045c30:\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }" if (parenthesized_expression "(0x3fff < uVar7 + 0x2000)" ( (binary_expression "0x3fff < uVar7 + 0x2000" number_literal < (binary_expression "uVar7 + 0x2000" identifier + number_literal)) )) (compound_statement "{\nLAB_00045c30:\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }" { (labeled_statement "LAB_00045c30:\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) ;) (goto_statement "goto LAB_00045c5c;" goto statement_identifier ;) })) (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (expression_statement "uVar7 = bVar2 & 0xffffc00e | uVar7 * 2 & 0x3ff0 | (int)uVar7 >> 0xd & 1U;" (assignment_expression "uVar7 = bVar2 & 0xffffc00e | uVar7 * 2 & 0x3ff0 | (int)uVar7 >> 0xd & 1U" identifier = (binary_expression "bVar2 & 0xffffc00e | uVar7 * 2 & 0x3ff0 | (int)uVar7 >> 0xd & 1U" (binary_expression "bVar2 & 0xffffc00e | uVar7 * 2 & 0x3ff0" (binary_expression "bVar2 & 0xffffc00e" identifier & number_literal) | (binary_expression "uVar7 * 2 & 0x3ff0" (binary_expression "uVar7 * 2" identifier * number_literal) & number_literal)) | (binary_expression "(int)uVar7 >> 0xd & 1U" (binary_expression "(int)uVar7 >> 0xd" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal))) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n    uVar9 = uVar7 + 0x1ff8;\n    uVar7 = uVar7 - 8;\n    if (0x3fff < uVar9) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }\n    bVar4 = fixP->fx_r_type;\n    uVar7 = (int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U | bVar2 & 0xffffe002 | uVar7 * 2 & 0x1ff8\n    ;\n    break;" case number_literal : (expression_statement "uVar9 = uVar7 + 0x1ff8;" (assignment_expression "uVar9 = uVar7 + 0x1ff8" identifier = (binary_expression "uVar7 + 0x1ff8" identifier + number_literal)) ;) (expression_statement "uVar7 = uVar7 - 8;" (assignment_expression "uVar7 = uVar7 - 8" identifier = (binary_expression "uVar7 - 8" identifier - number_literal)) ;) (if_statement "if (0x3fff < uVar9) {\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\n    }" if (parenthesized_expression "(0x3fff < uVar9)" ( (binary_expression "0x3fff < uVar9" number_literal < identifier) )) (compound_statement "{\n      format = (char *)dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar11 = 0x1fff;\n      uVar10 = 0xffffe000;\n      goto LAB_00045c5c;\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_00045c5c;" goto statement_identifier ;) })) (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (expression_statement "uVar7 = (int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U | bVar2 & 0xffffe002 | uVar7 * 2 & 0x1ff8\n    ;" (assignment_expression "uVar7 = (int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U | bVar2 & 0xffffe002 | uVar7 * 2 & 0x1ff8" identifier = (binary_expression "(int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U | bVar2 & 0xffffe002 | uVar7 * 2 & 0x1ff8" (binary_expression "(int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U | bVar2 & 0xffffe002" (binary_expression "(int)uVar7 >> 10 & 4U | (int)uVar7 >> 0xd & 1U" (binary_expression "(int)uVar7 >> 10 & 4U" (binary_expression "(int)uVar7 >> 10" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal) | (binary_expression "(int)uVar7 >> 0xd & 1U" (binary_expression "(int)uVar7 >> 0xd" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) | (binary_expression "bVar2 & 0xffffe002" identifier & number_literal)) | (binary_expression "uVar7 * 2 & 0x1ff8" (binary_expression "uVar7 * 2" identifier * number_literal) & number_literal))) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n    if (0x3fff < uVar7 + 0x2000) goto LAB_00045c30;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffffc000 | (int)uVar7 >> 0xd & 1U | uVar7 * 2 & 0x3ffe;\n    break;" case number_literal : (if_statement "if (0x3fff < uVar7 + 0x2000) goto LAB_00045c30;" if (parenthesized_expression "(0x3fff < uVar7 + 0x2000)" ( (binary_expression "0x3fff < uVar7 + 0x2000" number_literal < (binary_expression "uVar7 + 0x2000" identifier + number_literal)) )) (goto_statement "goto LAB_00045c30;" goto statement_identifier ;)) (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (expression_statement "uVar7 = bVar2 & 0xffffc000 | (int)uVar7 >> 0xd & 1U | uVar7 * 2 & 0x3ffe;" (assignment_expression "uVar7 = bVar2 & 0xffffc000 | (int)uVar7 >> 0xd & 1U | uVar7 * 2 & 0x3ffe" identifier = (binary_expression "bVar2 & 0xffffc000 | (int)uVar7 >> 0xd & 1U | uVar7 * 2 & 0x3ffe" (binary_expression "bVar2 & 0xffffc000 | (int)uVar7 >> 0xd & 1U" (binary_expression "bVar2 & 0xffffc000" identifier & number_literal) | (binary_expression "(int)uVar7 >> 0xd & 1U" (binary_expression "(int)uVar7 >> 0xd" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) | (binary_expression "uVar7 * 2 & 0x3ffe" (binary_expression "uVar7 * 2" identifier * number_literal) & number_literal))) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n    uVar8 = uVar7 * 2 & 0xffff;\n    uVar9 = bVar2 & 0xffff0000 | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\nLAB_000456fa:\n    uVar7 = uVar9 | uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000;\n    break;" case number_literal : (expression_statement "uVar8 = uVar7 * 2 & 0xffff;" (assignment_expression "uVar8 = uVar7 * 2 & 0xffff" identifier = (binary_expression "uVar7 * 2 & 0xffff" (binary_expression "uVar7 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "uVar9 = bVar2 & 0xffff0000 | (int)(uVar7 & 0x8000) >> 0xf;" (assignment_expression "uVar9 = bVar2 & 0xffff0000 | (int)(uVar7 & 0x8000) >> 0xf" identifier = (binary_expression "bVar2 & 0xffff0000 | (int)(uVar7 & 0x8000) >> 0xf" (binary_expression "bVar2 & 0xffff0000" identifier & number_literal) | (binary_expression "(int)(uVar7 & 0x8000) >> 0xf" (cast_expression "(int)(uVar7 & 0x8000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 & 0x8000)" ( (binary_expression "uVar7 & 0x8000" identifier & number_literal) ))) >> number_literal))) ;) (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (labeled_statement "LAB_000456fa:\n    uVar7 = uVar9 | uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000;" statement_identifier : (expression_statement "uVar7 = uVar9 | uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000;" (assignment_expression "uVar7 = uVar9 | uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000" identifier = (binary_expression "uVar9 | uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000" identifier | (binary_expression "uVar8 ^ (int)(uVar7 & 0x8000) >> 1 ^ uVar7 & 0x8000" (binary_expression "uVar8 ^ (int)(uVar7 & 0x8000) >> 1" identifier ^ (binary_expression "(int)(uVar7 & 0x8000) >> 1" (cast_expression "(int)(uVar7 & 0x8000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 & 0x8000)" ( (binary_expression "uVar7 & 0x8000" identifier & number_literal) ))) >> number_literal)) ^ (binary_expression "uVar7 & 0x8000" identifier & number_literal)))) ;)) (break_statement "break;" break ;)) (case_statement "case 0x16:\n_L918:\n    local_24 = *valP;\n    goto LAB_00045560;" case number_literal : (labeled_statement "_L918:\n    local_24 = *valP;" statement_identifier : (expression_statement "local_24 = *valP;" (assignment_expression "local_24 = *valP" identifier = (pointer_expression "*valP" * identifier)) ;)) (goto_statement "goto LAB_00045560;" goto statement_identifier ;)) (case_statement "case 0x20:\n    bVar4 = fixP->fx_r_type;\n    break;" case number_literal : (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xfffffff0:\n    uVar9 = uVar7 & 0x8000;\n    bVar4 = fixP->fx_r_type;\n    uVar7 = bVar2 & 0xffff0006 | (int)uVar9 >> 0xf | uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1 ^ uVar9;\n    break;" case number_literal : (expression_statement "uVar9 = uVar7 & 0x8000;" (assignment_expression "uVar9 = uVar7 & 0x8000" identifier = (binary_expression "uVar7 & 0x8000" identifier & number_literal)) ;) (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (expression_statement "uVar7 = bVar2 & 0xffff0006 | (int)uVar9 >> 0xf | uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1 ^ uVar9;" (assignment_expression "uVar7 = bVar2 & 0xffff0006 | (int)uVar9 >> 0xf | uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1 ^ uVar9" identifier = (binary_expression "bVar2 & 0xffff0006 | (int)uVar9 >> 0xf | uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1 ^ uVar9" (binary_expression "bVar2 & 0xffff0006 | (int)uVar9 >> 0xf" (binary_expression "bVar2 & 0xffff0006" identifier & number_literal) | (binary_expression "(int)uVar9 >> 0xf" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) | (binary_expression "uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1 ^ uVar9" (binary_expression "uVar7 * 2 & 0xfff8 ^ (int)uVar9 >> 1" (binary_expression "uVar7 * 2 & 0xfff8" (binary_expression "uVar7 * 2" identifier * number_literal) & number_literal) ^ (binary_expression "(int)uVar9 >> 1" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ^ identifier))) ;) (break_statement "break;" break ;)) (case_statement "default:\n    goto _L820;" default : (goto_statement "goto _L820;" goto statement_identifier ;)) (case_statement "case 0xfffffff6:\n    uVar8 = uVar7 * 2 & 0xfff0;\n    uVar9 = bVar2 & 0xffff000e | (int)(uVar7 & 0x8000) >> 0xf;\n    bVar4 = fixP->fx_r_type;\n    goto LAB_000456fa;" case number_literal : (expression_statement "uVar8 = uVar7 * 2 & 0xfff0;" (assignment_expression "uVar8 = uVar7 * 2 & 0xfff0" identifier = (binary_expression "uVar7 * 2 & 0xfff0" (binary_expression "uVar7 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "uVar9 = bVar2 & 0xffff000e | (int)(uVar7 & 0x8000) >> 0xf;" (assignment_expression "uVar9 = bVar2 & 0xffff000e | (int)(uVar7 & 0x8000) >> 0xf" identifier = (binary_expression "bVar2 & 0xffff000e | (int)(uVar7 & 0x8000) >> 0xf" (binary_expression "bVar2 & 0xffff000e" identifier & number_literal) | (binary_expression "(int)(uVar7 & 0x8000) >> 0xf" (cast_expression "(int)(uVar7 & 0x8000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 & 0x8000)" ( (binary_expression "uVar7 & 0x8000" identifier & number_literal) ))) >> number_literal))) ;) (expression_statement "bVar4 = fixP->fx_r_type;" (assignment_expression "bVar4 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (goto_statement "goto LAB_000456fa;" goto statement_identifier ;)) })) (labeled_statement "LAB_000455d0:\n  if (bVar4 != BFD_RELOC_ALPHA_LITERAL) {\n    if (bVar4 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar4 != BFD_RELOC_SPU_LO16) &&\n         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))) goto LAB_00045602;\n    }\n    else if ((bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_00045602;\n  }" statement_identifier : (if_statement "if (bVar4 != BFD_RELOC_ALPHA_LITERAL) {\n    if (bVar4 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar4 != BFD_RELOC_SPU_LO16) &&\n         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))) goto LAB_00045602;\n    }\n    else if ((bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_00045602;\n  }" if (parenthesized_expression "(bVar4 != BFD_RELOC_ALPHA_LITERAL)" ( (binary_expression "bVar4 != BFD_RELOC_ALPHA_LITERAL" identifier != identifier) )) (compound_statement "{\n    if (bVar4 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar4 != BFD_RELOC_SPU_LO16) &&\n         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))) goto LAB_00045602;\n    }\n    else if ((bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_00045602;\n  }" { (if_statement "if (bVar4 < BFD_RELOC_ALPHA_ELF_LITERAL) {\n      if ((bVar4 != BFD_RELOC_SPU_LO16) &&\n         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))) goto LAB_00045602;\n    }\n    else if ((bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_00045602;" if (parenthesized_expression "(bVar4 < BFD_RELOC_ALPHA_ELF_LITERAL)" ( (binary_expression "bVar4 < BFD_RELOC_ALPHA_ELF_LITERAL" identifier < identifier) )) (compound_statement "{\n      if ((bVar4 != BFD_RELOC_SPU_LO16) &&\n         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))) goto LAB_00045602;\n    }" { (if_statement "if ((bVar4 != BFD_RELOC_SPU_LO16) &&\n         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))) goto LAB_00045602;" if (parenthesized_expression "((bVar4 != BFD_RELOC_SPU_LO16) &&\n         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18))))" ( (binary_expression "(bVar4 != BFD_RELOC_SPU_LO16) &&\n         ((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))" (parenthesized_expression "(bVar4 != BFD_RELOC_SPU_LO16)" ( (binary_expression "bVar4 != BFD_RELOC_SPU_LO16" identifier != identifier) )) && (parenthesized_expression "((bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)))" ( (parenthesized_expression "(bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18))" ( (binary_expression "bVar4 != BFD_RELOC_SPU_ADD_PIC && (bVar4 != BFD_RELOC_SPU_IMM18)" (binary_expression "bVar4 != BFD_RELOC_SPU_ADD_PIC" identifier != identifier) && (parenthesized_expression "(bVar4 != BFD_RELOC_SPU_IMM18)" ( (binary_expression "bVar4 != BFD_RELOC_SPU_IMM18" identifier != identifier) ))) )) ))) )) (goto_statement "goto LAB_00045602;" goto statement_identifier ;)) }) (else_clause "else if ((bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_00045602;" else (if_statement "if ((bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))))\n    goto LAB_00045602;" if (parenthesized_expression "((bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))))" ( (binary_expression "(bVar4 < BFD_RELOC_MIPS_GOT_LO16) ||\n            ((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16)))" (parenthesized_expression "(bVar4 < BFD_RELOC_MIPS_GOT_LO16)" ( (binary_expression "bVar4 < BFD_RELOC_MIPS_GOT_LO16" identifier < identifier) )) || (parenthesized_expression "((BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16)))" ( (parenthesized_expression "(BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16))" ( (binary_expression "BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4 && (1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16)" (binary_expression "BFD_RELOC_MICROMIPS_GOT_LO16 < bVar4" identifier < identifier) && (parenthesized_expression "(1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16)" ( (binary_expression "1 < bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16" number_literal < (binary_expression "bVar4 - BFD_RELOC_MICROMIPS_CALL_HI16" identifier - identifier)) ))) )) ))) )) (goto_statement "goto LAB_00045602;" 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_00045602:\n                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*stdoutput->xvec->bfd_putx32)(uVar7,pcVar5);" statement_identifier : comment comment (expression_statement "(*stdoutput->xvec->bfd_putx32)(uVar7,pcVar5);" (call_expression "(*stdoutput->xvec->bfd_putx32)(uVar7,pcVar5)" (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 "(uVar7,pcVar5)" ( identifier , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00045300(byte *param_1,uint *param_2)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_28;\n  uint local_24;\n  \n  iVar3 = *(int *)(param_1 + 0x28);\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 + 0x38);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_000413d0(iVar3,*param_2,param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }\n  local_28 = *(uint *)(param_1 + 0xc);\n  if (local_28 != 0) {\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }\nLAB_00045898:\n  if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }\nLAB_000455d0:\n  if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003bae0(*(int *)(param_1 + 0xc));\n  }\nLAB_00045602:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();\n  return;\n}\n\n" (function_definition "void FUN_00045300(byte *param_1,uint *param_2)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_28;\n  uint local_24;\n  \n  iVar3 = *(int *)(param_1 + 0x28);\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 + 0x38);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_000413d0(iVar3,*param_2,param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }\n  local_28 = *(uint *)(param_1 + 0xc);\n  if (local_28 != 0) {\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }\nLAB_00045898:\n  if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }\nLAB_000455d0:\n  if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003bae0(*(int *)(param_1 + 0xc));\n  }\nLAB_00045602:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();\n  return;\n}" primitive_type (function_declarator "FUN_00045300(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  undefined4 uVar4;\n  uint uVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_28;\n  uint local_24;\n  \n  iVar3 = *(int *)(param_1 + 0x28);\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 + 0x38);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_000413d0(iVar3,*param_2,param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }\n  local_28 = *(uint *)(param_1 + 0xc);\n  if (local_28 != 0) {\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }\nLAB_00045898:\n  if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }\nLAB_000455d0:\n  if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003bae0(*(int *)(param_1 + 0xc));\n  }\nLAB_00045602:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00083ec4 + 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 "undefined4 uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (expression_statement "iVar3 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x28)" identifier = (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" 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 + 0x38);" (assignment_expression "puVar1 = *(undefined4 **)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x38)" * (cast_expression "(undefined4 **)(param_1 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (puVar1 == (undefined4 *)0x0) {\n    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,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    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);\n    return;\n  }" { (expression_statement "uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);" (assignment_expression "uVar4 = 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_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);" (call_expression "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);" (assignment_expression "iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8)" identifier = (binary_expression "*(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8)" (binary_expression "*(int *)(param_1 + 4) + 0x38" (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_000413d0(iVar3,*param_2,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_000413d0(iVar3,*param_2,param_1[2]);\n    return;\n  }" { (expression_statement "FUN_000413d0(iVar3,*param_2,param_1[2]);" (call_expression "FUN_000413d0(iVar3,*param_2,param_1[2])" identifier (argument_list "(iVar3,*param_2,param_1[2])" ( identifier , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_1[2]" identifier [ number_literal ]) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);" (assignment_expression "uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3)" identifier = (call_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))" ( (pointer_expression "**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28)" * (pointer_expression "*(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28)" * (cast_expression "(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00083ec4 + 4) + 0x28)" ( (binary_expression "*(int *)(DAT_00083ec4 + 4) + 0x28" (pointer_expression "*(int *)(DAT_00083ec4 + 4)" * (cast_expression "(int *)(DAT_00083ec4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00083ec4 + 4)" ( (binary_expression "DAT_00083ec4 + 4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) (switch_statement "switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }" switch (parenthesized_expression "(uVar2 >> 0x1a)" ( (binary_expression "uVar2 >> 0x1a" identifier >> number_literal) )) (compound_statement "{\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }" { (case_statement "case 8:" case number_literal :) (case_statement "case 10:\n    uVar6 = 0x15;\n    break;" case number_literal : (expression_statement "uVar6 = 0x15;" (assignment_expression "uVar6 = 0x15" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;" default : (expression_statement "uVar6 = 0x20;" (assignment_expression "uVar6 = 0x20" identifier = number_literal) ;) (goto_statement "goto LAB_000454d2;" 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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;" case number_literal : (expression_statement "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;" (assignment_expression "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10" identifier = (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe)" ( (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" - (call_expression "(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" ( (binary_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (binary_expression "*(int *)(DAT_00083ec4 + 0x80) + 0x10" (pointer_expression "*(int *)(DAT_00083ec4 + 0x80)" * (cast_expression "(int *)(DAT_00083ec4 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00083ec4 + 0x80)" ( (binary_expression "DAT_00083ec4 + 0x80" 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_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;" case number_literal : (if_statement "if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }" if (parenthesized_expression "(0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10))" ( (binary_expression "0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" number_literal < (pointer_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (binary_expression "*(int *)(DAT_00083ec4 + 0x80) + 0x10" (pointer_expression "*(int *)(DAT_00083ec4 + 0x80)" * (cast_expression "(int *)(DAT_00083ec4 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00083ec4 + 0x80)" ( (binary_expression "DAT_00083ec4 + 0x80" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }" { (expression_statement "uVar6 = 0xfffffff6;" (assignment_expression "uVar6 = 0xfffffff6" identifier = number_literal) ;) (goto_statement "goto LAB_000454d2;" goto statement_identifier ;) })) (expression_statement "uVar6 = 10;" (assignment_expression "uVar6 = 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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;" case number_literal : (expression_statement "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;" (assignment_expression "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10" identifier = (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5)" ( (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" - (call_expression "(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" ( (binary_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" * (cast_expression "(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" ( (binary_expression "*(int *)(DAT_00083ec4 + 0x80) + 0x10" (pointer_expression "*(int *)(DAT_00083ec4 + 0x80)" * (cast_expression "(int *)(DAT_00083ec4 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00083ec4 + 0x80)" ( (binary_expression "DAT_00083ec4 + 0x80" identifier + number_literal) )))) + number_literal) )))) < number_literal) )))) & number_literal) )) - number_literal)) ;) (labeled_statement "LAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);" statement_identifier : (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;)) (if_statement "if (local_28 == 0) goto LAB_00045898;" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00045898;" goto statement_identifier ;)) (goto_statement "goto LAB_000454e1;" 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    uVar6 = 0xc;\n    break;" case number_literal : (expression_statement "uVar6 = 0xc;" (assignment_expression "uVar6 = 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    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;" case number_literal : (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 0xb;" (assignment_expression "uVar6 = 0xb" identifier = number_literal) ;) (if_statement "if (local_28 != 0) goto LAB_00045654;" if (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00045654;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x28)" identifier = (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;" statement_identifier : (if_statement "if (iVar3 == 0) goto LAB_00045654;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00045654;" goto statement_identifier ;))) (goto_statement "goto LAB_00045b1b;" goto statement_identifier ;)) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;" case number_literal : (expression_statement "uVar6 = 0x11;" (assignment_expression "uVar6 = 0x11" identifier = number_literal) ;) (labeled_statement "code_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);" statement_identifier : (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;)) (if_statement "if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }" { (expression_statement "iVar3 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x28)" identifier = (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x00045c85;" goto statement_identifier ;) })) (if_statement "if (uVar6 == 0x11) goto LAB_0004541d;" if (parenthesized_expression "(uVar6 == 0x11)" ( (binary_expression "uVar6 == 0x11" identifier == number_literal) )) (goto_statement "goto LAB_0004541d;" goto statement_identifier ;)) (if_statement "if (uVar6 != 0x16) goto code_r0x0004547e;" if (parenthesized_expression "(uVar6 != 0x16)" ( (binary_expression "uVar6 != 0x16" identifier != number_literal) )) (goto_statement "goto code_r0x0004547e;" goto statement_identifier ;)) (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" identifier = number_literal) ;) (goto_statement "goto code_r0x000454f8;" goto statement_identifier ;)) (case_statement "case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }" case number_literal : (expression_statement "uVar6 = 0x11;" (assignment_expression "uVar6 = 0x11" identifier = number_literal) ;) (if_statement "if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\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      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }" { (expression_statement "uVar6 = 0x16;" (assignment_expression "uVar6 = 0x16" identifier = number_literal) ;) (goto_statement "goto code_r0x00045405;" goto statement_identifier ;) }))) })) (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (local_28 != 0) {\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }" if (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }" { (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (if_statement "if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;" if (parenthesized_expression "((0x421000U >> (uVar6 & 0x1f) & 1) == 0)" ( (binary_expression "(0x421000U >> (uVar6 & 0x1f) & 1) == 0" (parenthesized_expression "(0x421000U >> (uVar6 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (uVar6 & 0x1f) & 1" (binary_expression "0x421000U >> (uVar6 & 0x1f)" number_literal >> (parenthesized_expression "(uVar6 & 0x1f)" ( (binary_expression "uVar6 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;)) (labeled_statement "LAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }" statement_identifier : (if_statement "if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }" if (parenthesized_expression "((uVar6 != 0x11) && (uVar6 != 0xc))" ( (binary_expression "(uVar6 != 0x11) && (uVar6 != 0xc)" (parenthesized_expression "(uVar6 != 0x11)" ( (binary_expression "uVar6 != 0x11" identifier != number_literal) )) && (parenthesized_expression "(uVar6 != 0xc)" ( (binary_expression "uVar6 != 0xc" identifier != number_literal) ))) )) (compound_statement "{\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }" { (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_000454e3;" goto statement_identifier ;) }))) (if_statement "if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (compound_statement "{\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }" { (labeled_statement "code_r0x0004547e:\n      uVar5 = 8;" statement_identifier : (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" identifier = number_literal) ;)) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;) })) (labeled_statement "LAB_0004541d:\n    uVar5 = 8;" statement_identifier : (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" identifier = number_literal) ;)) (if_statement "if ((*param_1 & 1) == 0) goto LAB_0004542b;" 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_0004542b;" goto statement_identifier ;)) (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;" if (parenthesized_expression "(local_24 + 0x1ff8 < 0x4000)" ( (binary_expression "local_24 + 0x1ff8 < 0x4000" (binary_expression "local_24 + 0x1ff8" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_00045bd8;" goto statement_identifier ;)) (if_statement "if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }" if (parenthesized_expression "(uVar6 != 0x11)" ( (binary_expression "uVar6 != 0x11" identifier != number_literal) )) (compound_statement "{\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }" { (if_statement "if (uVar6 != 0x16) goto LAB_0004542b;" if (parenthesized_expression "(uVar6 != 0x16)" ( (binary_expression "uVar6 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;)) (goto_statement "goto LAB_0004551e;" goto statement_identifier ;) })) (if_statement "if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }" if (parenthesized_expression "(local_24 + 0x3fff8 < 0x80000)" ( (binary_expression "local_24 + 0x3fff8 < 0x80000" (binary_expression "local_24 + 0x3fff8" identifier + number_literal) < number_literal) )) (compound_statement "{\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }" { (expression_statement "iVar3 = FUN_00038fd0(local_28);" (assignment_expression "iVar3 = FUN_00038fd0(local_28)" identifier = (call_expression "FUN_00038fd0(local_28)" identifier (argument_list "(local_28)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }" { (expression_statement "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));" (assignment_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_00039040(*(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) )))) )))) ;) (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" identifier = number_literal) ;) (if_statement "if (iVar3 == 0) goto LAB_00045a2c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00045a2c;" goto statement_identifier ;)) })) (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) })) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }" if (parenthesized_expression "(((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8))" ( (binary_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)" (parenthesized_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" ( (binary_expression "(uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar6 == 10)" ( (binary_expression "uVar6 == 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 "(0x7ffff < local_24 + 0x3fff8)" ( (binary_expression "0x7ffff < local_24 + 0x3fff8" number_literal < (binary_expression "local_24 + 0x3fff8" identifier + number_literal)) ))) )) (compound_statement "{\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }" { (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = 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 "uVar5 = local_24 - 8;" (assignment_expression "uVar5 = local_24 - 8" identifier = (binary_expression "local_24 - 8" identifier - number_literal)) ;) (expression_statement "uVar8 = 0x3ffff;" (assignment_expression "uVar8 = 0x3ffff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xfffc0000;" (assignment_expression "uVar7 = 0xfffc0000" identifier = number_literal) ;) (goto_statement "goto LAB_00045c5c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000455d0;" goto statement_identifier ;) })) (labeled_statement "LAB_00045898:\n  if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" statement_identifier : (if_statement "if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x28) == 0)" ( (binary_expression "*(int *)(param_1 + 0x28) == 0" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }" { (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (if_statement "if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }" if (parenthesized_expression "(uVar6 < 0x17)" ( (binary_expression "uVar6 < 0x17" identifier < number_literal) )) (compound_statement "{\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }" { (labeled_statement "LAB_00045654:\n      uVar5 = 0;" statement_identifier : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;)) (if_statement "if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;" if (parenthesized_expression "((0x421000U >> (uVar6 & 0x1f) & 1) != 0)" ( (binary_expression "(0x421000U >> (uVar6 & 0x1f) & 1) != 0" (parenthesized_expression "(0x421000U >> (uVar6 & 0x1f) & 1)" ( (binary_expression "0x421000U >> (uVar6 & 0x1f) & 1" (binary_expression "0x421000U >> (uVar6 & 0x1f)" number_literal >> (parenthesized_expression "(uVar6 & 0x1f)" ( (binary_expression "uVar6 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00045468;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_000454e1:\n      uVar5 = 0;\n    }" else (compound_statement "{\nLAB_000454e1:\n      uVar5 = 0;\n    }" { (labeled_statement "LAB_000454e1:\n      uVar5 = 0;" statement_identifier : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;)) }))) (labeled_statement "LAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;" statement_identifier : (if_statement "if (uVar6 != 0x16) goto LAB_0004542b;" if (parenthesized_expression "(uVar6 != 0x16)" ( (binary_expression "uVar6 != 0x16" identifier != number_literal) )) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;))) (if_statement "if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (compound_statement "{\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }" { (expression_statement "local_28 = *param_2;" (assignment_expression "local_28 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (goto_statement "goto LAB_00045b61;" goto statement_identifier ;) })) (labeled_statement "code_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;" statement_identifier : (if_statement "if ((*param_1 & 1) == 0) goto LAB_00045555;" 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_00045555;" goto statement_identifier ;))) (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar6 = 0x16;" (assignment_expression "uVar6 = 0x16" identifier = number_literal) ;) (if_statement "if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }" if (parenthesized_expression "(local_24 + 0x1ff8 < 0x4000)" ( (binary_expression "local_24 + 0x1ff8 < 0x4000" (binary_expression "local_24 + 0x1ff8" identifier + number_literal) < number_literal) )) (compound_statement "{\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }" { (labeled_statement "LAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);" statement_identifier : (expression_statement "iVar3 = FUN_00038fd0(local_28);" (assignment_expression "iVar3 = FUN_00038fd0(local_28)" identifier = (call_expression "FUN_00038fd0(local_28)" identifier (argument_list "(local_28)" ( identifier )))) ;)) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_00039040(*(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_0004542b;" goto statement_identifier ;)) (labeled_statement "LAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));" statement_identifier : (expression_statement "iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));" (assignment_expression "iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_00039580(*(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_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }" if (parenthesized_expression "((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))))" ( (binary_expression "(iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(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_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))" ( (parenthesized_expression "(*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))" ( (binary_expression "*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(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_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])" ( (comma_expression "iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]" (assignment_expression "iVar3 = FUN_00039580(*(int *)(param_1 + 0x10))" identifier = (call_expression "FUN_00039580(*(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_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }" { (expression_statement "local_28 = *param_2;" (assignment_expression "local_28 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar5 = local_28;" (assignment_expression "uVar5 = local_28" identifier = identifier) ;) (switch_statement "switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }" switch (parenthesized_expression "(*puVar1)" ( (pointer_expression "*puVar1" * identifier) )) (compound_statement "{\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }" { (case_statement "case 0:\n          break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 + 0x400) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x400) >> 0xb" identifier = (binary_expression "(int)(local_28 + 0x400) >> 0xb" (cast_expression "(int)(local_28 + 0x400)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 + 0x400)" ( (binary_expression "local_28 + 0x400" identifier + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 << 0x15) >> 0x15;" (assignment_expression "uVar5 = (int)(local_28 << 0x15) >> 0x15" identifier = (binary_expression "(int)(local_28 << 0x15) >> 0x15" (cast_expression "(int)(local_28 << 0x15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 << 0x15)" ( (binary_expression "local_28 << 0x15" identifier << number_literal) ))) >> 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          uVar5 = (int)local_28 >> 0xb;\n          break;" case number_literal : (expression_statement "uVar5 = (int)local_28 >> 0xb;" (assignment_expression "uVar5 = (int)local_28 >> 0xb" identifier = (binary_expression "(int)local_28 >> 0xb" (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;" case number_literal : (expression_statement "uVar5 = local_28 & 0x7ff;" (assignment_expression "uVar5 = local_28 & 0x7ff" identifier = (binary_expression "local_28 & 0x7ff" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 + 0x800) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x800) >> 0xb" identifier = (binary_expression "(int)(local_28 + 0x800) >> 0xb" (cast_expression "(int)(local_28 + 0x800)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 + 0x800)" ( (binary_expression "local_28 + 0x800" identifier + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;" case number_literal : (expression_statement "uVar5 = local_28 | 0xfffff800;" (assignment_expression "uVar5 = local_28 | 0xfffff800" identifier = (binary_expression "local_28 | 0xfffff800" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n          uVar5 = 0;\n          break;" case number_literal : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);" default : (labeled_statement "LAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);" statement_identifier : (expression_statement "FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);" (call_expression "FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28)" identifier (argument_list "("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28)" ( (string_literal ""../../gas/../bfd/libhppa.h"" " string_content ") , number_literal , (string_literal ""hppa_field_adjust"" " string_content ") , identifier ))) ;))) })) })) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;) })) (labeled_statement "LAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }" statement_identifier : (if_statement "if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }" if (parenthesized_expression "(local_24 + 0x7ffff8 < 0x1000000)" ( (binary_expression "local_24 + 0x7ffff8 < 0x1000000" (binary_expression "local_24 + 0x7ffff8" identifier + number_literal) < number_literal) )) (compound_statement "{\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }" { (expression_statement "iVar3 = FUN_00038fd0(local_28);" (assignment_expression "iVar3 = FUN_00038fd0(local_28)" identifier = (call_expression "FUN_00038fd0(local_28)" identifier (argument_list "(local_28)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc))" identifier = (call_expression "FUN_00039040(*(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_00045555;" goto statement_identifier ;)) (goto_statement "goto LAB_00045a2c;" goto statement_identifier ;) }))) (labeled_statement "LAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);" statement_identifier : (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;)) (if_statement "if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }" if (parenthesized_expression "(((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))" ( (binary_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8)" (parenthesized_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" ( (binary_expression "(uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar6 == 10)" ( (binary_expression "uVar6 == 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 "(0xffffff < local_24 + 0x7ffff8)" ( (binary_expression "0xffffff < local_24 + 0x7ffff8" number_literal < (binary_expression "local_24 + 0x7ffff8" identifier + number_literal)) ))) )) (compound_statement "{\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }" { (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = 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 "uVar5 = local_24 - 8;" (assignment_expression "uVar5 = local_24 - 8" identifier = (binary_expression "local_24 - 8" identifier - number_literal)) ;) (expression_statement "uVar8 = 0x7fffff;" (assignment_expression "uVar8 = 0x7fffff" identifier = number_literal) ;) (expression_statement "uVar7 = 0xff800000;" (assignment_expression "uVar7 = 0xff800000" identifier = number_literal) ;) }) (else_clause "else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }" else (compound_statement "{\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }" { (if_statement "if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;" if (parenthesized_expression "(uVar5 + 0x7ffff8 < 0x1000000)" ( (binary_expression "uVar5 + 0x7ffff8 < 0x1000000" (binary_expression "uVar5 + 0x7ffff8" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_000455d0;" goto statement_identifier ;)) (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = 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 "uVar5 = uVar5 - 8;" (assignment_expression "uVar5 = uVar5 - 8" identifier = (binary_expression "uVar5 - 8" identifier - number_literal)) ;) }))) (labeled_statement "LAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);" statement_identifier : (expression_statement "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);" (call_expression "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) , identifier , identifier , identifier , identifier ))) ;)) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" else (compound_statement "{\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" { (labeled_statement "LAB_00045b1b:\n    local_28 = *param_2;" statement_identifier : (expression_statement "local_28 = *param_2;" (assignment_expression "local_28 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;)) (switch_statement "switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }" switch (parenthesized_expression "(*puVar1)" ( (pointer_expression "*puVar1" * identifier) )) (compound_statement "{\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }" { (case_statement "case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;" case number_literal : (expression_statement "uVar5 = local_28;" (assignment_expression "uVar5 = local_28" identifier = identifier) ;) (if_statement "if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;" if (parenthesized_expression "((uVar6 == 0xc) || (uVar6 == 0x11))" ( (binary_expression "(uVar6 == 0xc) || (uVar6 == 0x11)" (parenthesized_expression "(uVar6 == 0xc)" ( (binary_expression "uVar6 == 0xc" identifier == number_literal) )) || (parenthesized_expression "(uVar6 == 0x11)" ( (binary_expression "uVar6 == 0x11" identifier == number_literal) ))) )) (goto_statement "goto LAB_0004542b;" goto statement_identifier ;)) (goto_statement "goto code_r0x00045b58;" goto statement_identifier ;)) (case_statement "case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 + 0x400) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x400) >> 0xb" identifier = (binary_expression "(int)(local_28 + 0x400) >> 0xb" (cast_expression "(int)(local_28 + 0x400)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 + 0x400)" ( (binary_expression "local_28 + 0x400" identifier + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 << 0x15) >> 0x15;" (assignment_expression "uVar5 = (int)(local_28 << 0x15) >> 0x15" identifier = (binary_expression "(int)(local_28 << 0x15) >> 0x15" (cast_expression "(int)(local_28 << 0x15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 << 0x15)" ( (binary_expression "local_28 << 0x15" identifier << number_literal) ))) >> 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      uVar5 = (int)local_28 >> 0xb;\n      break;" case number_literal : (expression_statement "uVar5 = (int)local_28 >> 0xb;" (assignment_expression "uVar5 = (int)local_28 >> 0xb" identifier = (binary_expression "(int)local_28 >> 0xb" (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;" case number_literal : (expression_statement "uVar5 = local_28 & 0x7ff;" (assignment_expression "uVar5 = local_28 & 0x7ff" identifier = (binary_expression "local_28 & 0x7ff" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;" case number_literal : (expression_statement "uVar5 = (int)(local_28 + 0x800) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x800) >> 0xb" identifier = (binary_expression "(int)(local_28 + 0x800) >> 0xb" (cast_expression "(int)(local_28 + 0x800)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_28 + 0x800)" ( (binary_expression "local_28 + 0x800" identifier + number_literal) ))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;" case number_literal : (expression_statement "uVar5 = local_28 | 0xfffff800;" (assignment_expression "uVar5 = local_28 | 0xfffff800" identifier = (binary_expression "local_28 | 0xfffff800" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      uVar5 = 0;\n      break;" case number_literal : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n      goto LAB_00045e86;" default : (goto_statement "goto LAB_00045e86;" goto statement_identifier ;)) })) (if_statement "if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }" if (parenthesized_expression "((uVar6 != 0xc) && (uVar6 != 0x11))" ( (binary_expression "(uVar6 != 0xc) && (uVar6 != 0x11)" (parenthesized_expression "(uVar6 != 0xc)" ( (binary_expression "uVar6 != 0xc" identifier != number_literal) )) && (parenthesized_expression "(uVar6 != 0x11)" ( (binary_expression "uVar6 != 0x11" identifier != number_literal) ))) )) (compound_statement "{\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }" { (labeled_statement "code_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }" statement_identifier : (if_statement "if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }" if (parenthesized_expression "(uVar6 == 0x16)" ( (binary_expression "uVar6 == 0x16" identifier == number_literal) )) (compound_statement "{\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }" { (labeled_statement "LAB_00045b61:\n        local_24 = local_28;" statement_identifier : (expression_statement "local_24 = local_28;" (assignment_expression "local_24 = local_28" identifier = identifier) ;)) (goto_statement "goto LAB_00045560;" goto statement_identifier ;) }))) })) (labeled_statement "LAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }" statement_identifier : (switch_statement "switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }" switch (parenthesized_expression "(uVar6)" ( identifier )) (compound_statement "{\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }" { (case_statement "case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;" case number_literal : (if_statement "if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }" if (parenthesized_expression "(uVar5 + 0x2000 < 0x4000)" ( (binary_expression "uVar5 + 0x2000 < 0x4000" (binary_expression "uVar5 + 0x2000" identifier + number_literal) < number_literal) )) (compound_statement "{\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }" { (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;) })) (labeled_statement "code_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = 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_00045c5c;" goto statement_identifier ;)) (case_statement "case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" case number_literal : (expression_statement "uVar2 = uVar5 + 0x1ff8;" (assignment_expression "uVar2 = uVar5 + 0x1ff8" identifier = (binary_expression "uVar5 + 0x1ff8" identifier + number_literal)) ;) (expression_statement "uVar5 = uVar5 - 8;" (assignment_expression "uVar5 = uVar5 - 8" identifier = (binary_expression "uVar5 - 8" identifier - number_literal)) ;) (if_statement "if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }" if (parenthesized_expression "(0x3fff < uVar2)" ( (binary_expression "0x3fff < uVar2" number_literal < identifier) )) (compound_statement "{\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }" { (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = 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_00045c5c;" goto statement_identifier ;) })) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" case number_literal : (if_statement "if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;" if (parenthesized_expression "(0x3fff < uVar5 + 0x2000)" ( (binary_expression "0x3fff < uVar5 + 0x2000" number_literal < (binary_expression "uVar5 + 0x2000" identifier + number_literal)) )) (goto_statement "goto code_r0x00045c30;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" case number_literal : (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;" case number_literal : (labeled_statement "LAB_00045555:\n      local_24 = *param_2;" statement_identifier : (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;)) (goto_statement "goto LAB_00045560;" goto statement_identifier ;)) (case_statement "case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" case number_literal : (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" case number_literal : (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;" default : (expression_statement "uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);" (assignment_expression "uVar4 = 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_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);" (call_expression "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x30)" * (cast_expression "(undefined4 *)(param_1 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) , identifier ))) ;) (return_statement "return;" return ;)) (case_statement "case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);" case number_literal : (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;)) }))) })))) (labeled_statement "LAB_000455d0:\n  if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }" statement_identifier : (if_statement "if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }" if (parenthesized_expression "(uVar6 != 0xa6)" ( (binary_expression "uVar6 != 0xa6" identifier != number_literal) )) (compound_statement "{\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }" { (if_statement "if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;" if (parenthesized_expression "(uVar6 < 0xa7)" ( (binary_expression "uVar6 < 0xa7" identifier < number_literal) )) (compound_statement "{\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }" { (if_statement "if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;" if (parenthesized_expression "((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a))))" ( (binary_expression "(uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))" (parenthesized_expression "(uVar6 != 0x9e)" ( (binary_expression "uVar6 != 0x9e" identifier != number_literal) )) && (parenthesized_expression "((uVar6 != 0xa2 && (uVar6 != 0x9a)))" ( (parenthesized_expression "(uVar6 != 0xa2 && (uVar6 != 0x9a))" ( (binary_expression "uVar6 != 0xa2 && (uVar6 != 0x9a)" (binary_expression "uVar6 != 0xa2" identifier != number_literal) && (parenthesized_expression "(uVar6 != 0x9a)" ( (binary_expression "uVar6 != 0x9a" identifier != number_literal) ))) )) ))) )) (goto_statement "goto LAB_00045602;" goto statement_identifier ;)) }) (else_clause "else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;" else (if_statement "if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;" if (parenthesized_expression "((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed))))" ( (binary_expression "(uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))" (parenthesized_expression "(uVar6 < 0xea)" ( (binary_expression "uVar6 < 0xea" identifier < number_literal) )) || (parenthesized_expression "((0xeb < uVar6 && (1 < uVar6 - 0xed)))" ( (parenthesized_expression "(0xeb < uVar6 && (1 < uVar6 - 0xed))" ( (binary_expression "0xeb < uVar6 && (1 < uVar6 - 0xed)" (binary_expression "0xeb < uVar6" number_literal < identifier) && (parenthesized_expression "(1 < uVar6 - 0xed)" ( (binary_expression "1 < uVar6 - 0xed" number_literal < (binary_expression "uVar6 - 0xed" identifier - number_literal)) ))) )) ))) )) (goto_statement "goto LAB_00045602;" goto statement_identifier ;)))) }))) (if_statement "if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003bae0(*(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_0003bae0(*(int *)(param_1 + 0xc));\n  }" { (expression_statement "FUN_0003bae0(*(int *)(param_1 + 0xc));" (call_expression "FUN_0003bae0(*(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_00045602:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();" statement_identifier : (expression_statement "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();" (call_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))()" (parenthesized_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))" ( (pointer_expression "**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30)" * (pointer_expression "*(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30)" * (cast_expression "(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_00083ec4 + 4) + 0x30)" ( (binary_expression "*(int *)(DAT_00083ec4 + 4) + 0x30" (pointer_expression "*(int *)(DAT_00083ec4 + 4)" * (cast_expression "(int *)(DAT_00083ec4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00083ec4 + 4)" ( (binary_expression "DAT_00083ec4 + 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 ;) (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 ]) ))) ;) (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 : (expression_statement (assignment_expression IDENT = 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 = (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) ;) (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) ;)) (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 = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (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 ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (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 * 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 ( (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 = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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 : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 = (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 = IDENT) ;) (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 (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) >> LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) >> 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) >> LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (break_statement break ;)) (case_statement case 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 : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression 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 ( (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 = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (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) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (switch_statement switch (parenthesized_expression ( (pointer_expression * IDENT) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) >> LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) >> 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) >> LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (break_statement break ;)) (case_statement case 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) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (goto_statement goto statement_identifier ;) }))) })) (labeled_statement statement_identifier : (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (break_statement break ;) })) (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) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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 : (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) ))))) ;) (break_statement break ;)) (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 : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * 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 : (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 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 : (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_00045300(byte *param_1,uint *param_2)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_28;\n  uint local_24;\n  \n  iVar3 = *(int *)(param_1 + 0x28);\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 + 0x38);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_000413d0(iVar3,*param_2,param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }\n  local_28 = *(uint *)(param_1 + 0xc);\n  if (local_28 != 0) {\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }\nLAB_00045898:\n  if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }\nLAB_000455d0:\n  if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003bae0(*(int *)(param_1 + 0xc));\n  }\nLAB_00045602:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00045300(byte *param_1,uint *param_2)" (identifier "FUN_00045300") (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  undefined4 uVar4;\n  uint uVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  uint local_28;\n  uint local_24;\n  \n  iVar3 = *(int *)(param_1 + 0x28);\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 + 0x38);\n  if (puVar1 == (undefined4 *)0x0) {\n    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);\n    return;\n  }\n  iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);\n  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {\n    FUN_000413d0(iVar3,*param_2,param_1[2]);\n    return;\n  }\n  uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);\n  switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }\n  local_28 = *(uint *)(param_1 + 0xc);\n  if (local_28 != 0) {\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }\nLAB_00045898:\n  if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }\nLAB_000455d0:\n  if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }\n  if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003bae0(*(int *)(param_1 + 0xc));\n  }\nLAB_00045602:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00083ec4 + 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 "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (declaration "uint local_24;" (type_identifier "uint") (identifier "local_24") (; ";")) (expression_statement "iVar3 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x28)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (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 + 0x38);" (assignment_expression "puVar1 = *(undefined4 **)(param_1 + 0x38)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x38)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if (puVar1 == (undefined4 *)0x0) {\n    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,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    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);\n    return;\n  }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);" (assignment_expression "uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5)" (identifier "uVar4") (= "=") (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_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);" (call_expression "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3)" (identifier "FUN_0002d6b0") (argument_list "(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (, ",") (identifier "uVar4") (, ",") (identifier "iVar3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);" (assignment_expression "iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8)" (identifier "iVar3") (= "=") (binary_expression "*(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8)" (binary_expression "*(int *)(param_1 + 4) + 0x38" (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 "0x38")) (+ "+") (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_000413d0(iVar3,*param_2,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_000413d0(iVar3,*param_2,param_1[2]);\n    return;\n  }" ({ "{") (expression_statement "FUN_000413d0(iVar3,*param_2,param_1[2]);" (call_expression "FUN_000413d0(iVar3,*param_2,param_1[2])" (identifier "FUN_000413d0") (argument_list "(iVar3,*param_2,param_1[2])" (( "(") (identifier "iVar3") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);" (assignment_expression "uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3)" (parenthesized_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))" (( "(") (pointer_expression "**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28)" (* "*") (pointer_expression "*(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28)" (* "*") (cast_expression "(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(DAT_00083ec4 + 4) + 0x28)" (( "(") (binary_expression "*(int *)(DAT_00083ec4 + 4) + 0x28" (pointer_expression "*(int *)(DAT_00083ec4 + 4)" (* "*") (cast_expression "(int *)(DAT_00083ec4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00083ec4 + 4)" (( "(") (binary_expression "DAT_00083ec4 + 4" (identifier "DAT_00083ec4") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (switch_statement "switch(uVar2 >> 0x1a) {\n  case 8:\n  case 10:\n    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\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    uVar6 = 0x15;\n    break;\n  default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;\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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;\n  case 0x14:\n  case 0x1c:\n    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;\n  case 0x16:\n  case 0x17:\n  case 0x1e:\n  case 0x1f:\n    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;\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    uVar6 = 0xc;\n    break;\n  case 0x24:\n  case 0x25:\n  case 0x2c:\n  case 0x2d:\n    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;\n  case 0x38:\n  case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;\n  case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }\n  }" ({ "{") (case_statement "case 8:" (case "case") (number_literal "8") (: ":")) (case_statement "case 10:\n    uVar6 = 0x15;\n    break;" (case "case") (number_literal "10") (: ":") (expression_statement "uVar6 = 0x15;" (assignment_expression "uVar6 = 0x15" (identifier "uVar6") (= "=") (number_literal "0x15")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n    uVar6 = 0x20;\n    goto LAB_000454d2;" (default "default") (: ":") (expression_statement "uVar6 = 0x20;" (assignment_expression "uVar6 = 0x20" (identifier "uVar6") (= "=") (number_literal "0x20")) (; ";")) (goto_statement "goto LAB_000454d2;" (goto "goto") (statement_identifier "LAB_000454d2") (; ";"))) (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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;\n    break;" (case "case") (number_literal "0x1b") (: ":") (expression_statement "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;" (assignment_expression "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10" (identifier "uVar6") (= "=") (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe)" (( "(") (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" (- "-") (call_expression "(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" (( "(") (binary_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" (( "(") (binary_expression "*(int *)(DAT_00083ec4 + 0x80) + 0x10" (pointer_expression "*(int *)(DAT_00083ec4 + 0x80)" (* "*") (cast_expression "(int *)(DAT_00083ec4 + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00083ec4 + 0x80)" (( "(") (binary_expression "DAT_00083ec4 + 0x80" (identifier "DAT_00083ec4") (+ "+") (number_literal "0x80")) () ")")))) (+ "+") (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_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }\n    uVar6 = 10;\n    break;" (case "case") (number_literal "0x1c") (: ":") (if_statement "if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }" (if "if") (parenthesized_expression "(0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10))" (( "(") (binary_expression "0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" (number_literal "0x18") (< "<") (pointer_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" (( "(") (binary_expression "*(int *)(DAT_00083ec4 + 0x80) + 0x10" (pointer_expression "*(int *)(DAT_00083ec4 + 0x80)" (* "*") (cast_expression "(int *)(DAT_00083ec4 + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00083ec4 + 0x80)" (( "(") (binary_expression "DAT_00083ec4 + 0x80" (identifier "DAT_00083ec4") (+ "+") (number_literal "0x80")) () ")")))) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (compound_statement "{\n      uVar6 = 0xfffffff6;\n      goto LAB_000454d2;\n    }" ({ "{") (expression_statement "uVar6 = 0xfffffff6;" (assignment_expression "uVar6 = 0xfffffff6" (identifier "uVar6") (= "=") (number_literal "0xfffffff6")) (; ";")) (goto_statement "goto LAB_000454d2;" (goto "goto") (statement_identifier "LAB_000454d2") (; ";")) (} "}"))) (expression_statement "uVar6 = 10;" (assignment_expression "uVar6 = 10" (identifier "uVar6") (= "=") (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    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;\nLAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) goto LAB_00045898;\n    goto LAB_000454e1;" (case "case") (number_literal "0x1f") (: ":") (expression_statement "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;" (assignment_expression "uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10" (identifier "uVar6") (= "=") (binary_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10" (parenthesized_expression "(-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5)" (( "(") (binary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5" (unary_expression "-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" (- "-") (call_expression "(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19)" (( "(") (binary_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19" (pointer_expression "*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00083ec4 + 0x80) + 0x10)" (( "(") (binary_expression "*(int *)(DAT_00083ec4 + 0x80) + 0x10" (pointer_expression "*(int *)(DAT_00083ec4 + 0x80)" (* "*") (cast_expression "(int *)(DAT_00083ec4 + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00083ec4 + 0x80)" (( "(") (binary_expression "DAT_00083ec4 + 0x80" (identifier "DAT_00083ec4") (+ "+") (number_literal "0x80")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (< "<") (number_literal "0x19")) () ")")))) (& "&") (number_literal "5")) () ")")) (- "-") (number_literal "0x10"))) (; ";")) (labeled_statement "LAB_000454d2:\n    local_28 = *(uint *)(param_1 + 0xc);" (statement_identifier "LAB_000454d2") (: ":") (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" (identifier "local_28") (= "=") (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (if_statement "if (local_28 == 0) goto LAB_00045898;" (if "if") (parenthesized_expression "(local_28 == 0)" (( "(") (binary_expression "local_28 == 0" (identifier "local_28") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00045898;" (goto "goto") (statement_identifier "LAB_00045898") (; ";"))) (goto_statement "goto LAB_000454e1;" (goto "goto") (statement_identifier "LAB_000454e1") (; ";"))) (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    uVar6 = 0xc;\n    break;" (case "case") (number_literal "0x3b") (: ":") (expression_statement "uVar6 = 0xc;" (assignment_expression "uVar6 = 0xc" (identifier "uVar6") (= "=") (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    local_28 = *(uint *)(param_1 + 0xc);\n    uVar6 = 0xb;\n    if (local_28 != 0) goto LAB_00045654;\n    iVar3 = *(int *)(param_1 + 0x28);\njoined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;\n    goto LAB_00045b1b;" (case "case") (number_literal "0x2d") (: ":") (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" (identifier "local_28") (= "=") (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar6 = 0xb;" (assignment_expression "uVar6 = 0xb" (identifier "uVar6") (= "=") (number_literal "0xb")) (; ";")) (if_statement "if (local_28 != 0) goto LAB_00045654;" (if "if") (parenthesized_expression "(local_28 != 0)" (( "(") (binary_expression "local_28 != 0" (identifier "local_28") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00045654;" (goto "goto") (statement_identifier "LAB_00045654") (; ";"))) (expression_statement "iVar3 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x28)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (labeled_statement "joined_r0x00045c85:\n    if (iVar3 == 0) goto LAB_00045654;" (statement_identifier "joined_r0x00045c85") (: ":") (if_statement "if (iVar3 == 0) goto LAB_00045654;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00045654;" (goto "goto") (statement_identifier "LAB_00045654") (; ";")))) (goto_statement "goto LAB_00045b1b;" (goto "goto") (statement_identifier "LAB_00045b1b") (; ";"))) (case_statement "case 0x38:" (case "case") (number_literal "0x38") (: ":")) (case_statement "case 0x39:\n    uVar6 = 0x11;\ncode_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);\n    if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }\n    if (uVar6 == 0x11) goto LAB_0004541d;\n    if (uVar6 != 0x16) goto code_r0x0004547e;\n    uVar5 = 8;\n    goto code_r0x000454f8;" (case "case") (number_literal "0x39") (: ":") (expression_statement "uVar6 = 0x11;" (assignment_expression "uVar6 = 0x11" (identifier "uVar6") (= "=") (number_literal "0x11")) (; ";")) (labeled_statement "code_r0x00045405:\n    local_28 = *(uint *)(param_1 + 0xc);" (statement_identifier "code_r0x00045405") (: ":") (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" (identifier "local_28") (= "=") (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (if_statement "if (local_28 == 0) {\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }" (if "if") (parenthesized_expression "(local_28 == 0)" (( "(") (binary_expression "local_28 == 0" (identifier "local_28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = *(int *)(param_1 + 0x28);\n      goto joined_r0x00045c85;\n    }" ({ "{") (expression_statement "iVar3 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar3 = *(int *)(param_1 + 0x28)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (goto_statement "goto joined_r0x00045c85;" (goto "goto") (statement_identifier "joined_r0x00045c85") (; ";")) (} "}"))) (if_statement "if (uVar6 == 0x11) goto LAB_0004541d;" (if "if") (parenthesized_expression "(uVar6 == 0x11)" (( "(") (binary_expression "uVar6 == 0x11" (identifier "uVar6") (== "==") (number_literal "0x11")) () ")")) (goto_statement "goto LAB_0004541d;" (goto "goto") (statement_identifier "LAB_0004541d") (; ";"))) (if_statement "if (uVar6 != 0x16) goto code_r0x0004547e;" (if "if") (parenthesized_expression "(uVar6 != 0x16)" (( "(") (binary_expression "uVar6 != 0x16" (identifier "uVar6") (!= "!=") (number_literal "0x16")) () ")")) (goto_statement "goto code_r0x0004547e;" (goto "goto") (statement_identifier "code_r0x0004547e") (; ";"))) (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" (identifier "uVar5") (= "=") (number_literal "8")) (; ";")) (goto_statement "goto code_r0x000454f8;" (goto "goto") (statement_identifier "code_r0x000454f8") (; ";"))) (case_statement "case 0x3a:\n    uVar6 = 0x11;\n    if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }" (case "case") (number_literal "0x3a") (: ":") (expression_statement "uVar6 = 0x11;" (assignment_expression "uVar6 = 0x11" (identifier "uVar6") (= "=") (number_literal "0x11")) (; ";")) (if_statement "if ((uVar2 & 0x8000) != 0) {\n      uVar6 = 0x16;\n      goto code_r0x00045405;\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      uVar6 = 0x16;\n      goto code_r0x00045405;\n    }" ({ "{") (expression_statement "uVar6 = 0x16;" (assignment_expression "uVar6 = 0x16" (identifier "uVar6") (= "=") (number_literal "0x16")) (; ";")) (goto_statement "goto code_r0x00045405;" (goto "goto") (statement_identifier "code_r0x00045405") (; ";")) (} "}")))) (} "}"))) (expression_statement "local_28 = *(uint *)(param_1 + 0xc);" (assignment_expression "local_28 = *(uint *)(param_1 + 0xc)" (identifier "local_28") (= "=") (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (local_28 != 0) {\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }" (if "if") (parenthesized_expression "(local_28 != 0)" (( "(") (binary_expression "local_28 != 0" (identifier "local_28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar5 = 0;\n    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;\nLAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }\n    if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }\nLAB_0004541d:\n    uVar5 = 8;\n    if ((*param_1 & 1) == 0) goto LAB_0004542b;\n    local_24 = *param_2;\n    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;\n    if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }\n    if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }\n    goto LAB_000455d0;\n  }" ({ "{") (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;" (if "if") (parenthesized_expression "((0x421000U >> (uVar6 & 0x1f) & 1) == 0)" (( "(") (binary_expression "(0x421000U >> (uVar6 & 0x1f) & 1) == 0" (parenthesized_expression "(0x421000U >> (uVar6 & 0x1f) & 1)" (( "(") (binary_expression "0x421000U >> (uVar6 & 0x1f) & 1" (binary_expression "0x421000U >> (uVar6 & 0x1f)" (number_literal "0x421000U") (>> ">>") (parenthesized_expression "(uVar6 & 0x1f)" (( "(") (binary_expression "uVar6 & 0x1f" (identifier "uVar6") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004542b;" (goto "goto") (statement_identifier "LAB_0004542b") (; ";"))) (labeled_statement "LAB_00045468:\n    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }" (statement_identifier "LAB_00045468") (: ":") (if_statement "if ((uVar6 != 0x11) && (uVar6 != 0xc)) {\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }" (if "if") (parenthesized_expression "((uVar6 != 0x11) && (uVar6 != 0xc))" (( "(") (binary_expression "(uVar6 != 0x11) && (uVar6 != 0xc)" (parenthesized_expression "(uVar6 != 0x11)" (( "(") (binary_expression "uVar6 != 0x11" (identifier "uVar6") (!= "!=") (number_literal "0x11")) () ")")) (&& "&&") (parenthesized_expression "(uVar6 != 0xc)" (( "(") (binary_expression "uVar6 != 0xc" (identifier "uVar6") (!= "!=") (number_literal "0xc")) () ")"))) () ")")) (compound_statement "{\n      uVar5 = 8;\n      goto LAB_000454e3;\n    }" ({ "{") (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" (identifier "uVar5") (= "=") (number_literal "8")) (; ";")) (goto_statement "goto LAB_000454e3;" (goto "goto") (statement_identifier "LAB_000454e3") (; ";")) (} "}")))) (if_statement "if (local_28 == 0) {\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }" (if "if") (parenthesized_expression "(local_28 == 0)" (( "(") (binary_expression "local_28 == 0" (identifier "local_28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\ncode_r0x0004547e:\n      uVar5 = 8;\n      goto LAB_0004542b;\n    }" ({ "{") (labeled_statement "code_r0x0004547e:\n      uVar5 = 8;" (statement_identifier "code_r0x0004547e") (: ":") (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" (identifier "uVar5") (= "=") (number_literal "8")) (; ";"))) (goto_statement "goto LAB_0004542b;" (goto "goto") (statement_identifier "LAB_0004542b") (; ";")) (} "}"))) (labeled_statement "LAB_0004541d:\n    uVar5 = 8;" (statement_identifier "LAB_0004541d") (: ":") (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" (identifier "uVar5") (= "=") (number_literal "8")) (; ";"))) (if_statement "if ((*param_1 & 1) == 0) goto LAB_0004542b;" (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_0004542b;" (goto "goto") (statement_identifier "LAB_0004542b") (; ";"))) (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" (identifier "local_24") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (if_statement "if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;" (if "if") (parenthesized_expression "(local_24 + 0x1ff8 < 0x4000)" (( "(") (binary_expression "local_24 + 0x1ff8 < 0x4000" (binary_expression "local_24 + 0x1ff8" (identifier "local_24") (+ "+") (number_literal "0x1ff8")) (< "<") (number_literal "0x4000")) () ")")) (goto_statement "goto LAB_00045bd8;" (goto "goto") (statement_identifier "LAB_00045bd8") (; ";"))) (if_statement "if (uVar6 != 0x11) {\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }" (if "if") (parenthesized_expression "(uVar6 != 0x11)" (( "(") (binary_expression "uVar6 != 0x11" (identifier "uVar6") (!= "!=") (number_literal "0x11")) () ")")) (compound_statement "{\n      if (uVar6 != 0x16) goto LAB_0004542b;\n      goto LAB_0004551e;\n    }" ({ "{") (if_statement "if (uVar6 != 0x16) goto LAB_0004542b;" (if "if") (parenthesized_expression "(uVar6 != 0x16)" (( "(") (binary_expression "uVar6 != 0x16" (identifier "uVar6") (!= "!=") (number_literal "0x16")) () ")")) (goto_statement "goto LAB_0004542b;" (goto "goto") (statement_identifier "LAB_0004542b") (; ";"))) (goto_statement "goto LAB_0004551e;" (goto "goto") (statement_identifier "LAB_0004551e") (; ";")) (} "}"))) (if_statement "if (local_24 + 0x3fff8 < 0x80000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }" (if "if") (parenthesized_expression "(local_24 + 0x3fff8 < 0x80000)" (( "(") (binary_expression "local_24 + 0x3fff8 < 0x80000" (binary_expression "local_24 + 0x3fff8" (identifier "local_24") (+ "+") (number_literal "0x3fff8")) (< "<") (number_literal "0x80000")) () ")")) (compound_statement "{\n      iVar3 = FUN_00038fd0(local_28);\n      if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }\n      local_24 = *param_2;\n    }" ({ "{") (expression_statement "iVar3 = FUN_00038fd0(local_28);" (assignment_expression "iVar3 = FUN_00038fd0(local_28)" (identifier "iVar3") (= "=") (call_expression "FUN_00038fd0(local_28)" (identifier "FUN_00038fd0") (argument_list "(local_28)" (( "(") (identifier "local_28") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));\n        uVar5 = 8;\n        if (iVar3 == 0) goto LAB_00045a2c;\n      }" ({ "{") (expression_statement "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));" (assignment_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc))" (identifier "iVar3") (= "=") (call_expression "FUN_00039040(*(undefined4 *)(param_1 + 0xc))" (identifier "FUN_00039040") (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")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" (identifier "uVar5") (= "=") (number_literal "8")) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_00045a2c;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00045a2c;" (goto "goto") (statement_identifier "LAB_00045a2c") (; ";"))) (} "}"))) (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" (identifier "local_24") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (} "}"))) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }" (if "if") (parenthesized_expression "(((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8))" (( "(") (binary_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)" (parenthesized_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" (( "(") (binary_expression "(uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar6 == 10)" (( "(") (binary_expression "uVar6 == 10" (identifier "uVar6") (== "==") (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 "(0x7ffff < local_24 + 0x3fff8)" (( "(") (binary_expression "0x7ffff < local_24 + 0x3fff8" (number_literal "0x7ffff") (< "<") (binary_expression "local_24 + 0x3fff8" (identifier "local_24") (+ "+") (number_literal "0x3fff8"))) () ")"))) () ")")) (compound_statement "{\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x3ffff;\n      uVar7 = 0xfffc0000;\n      goto LAB_00045c5c;\n    }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "uVar4") (= "=") (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 "uVar5 = local_24 - 8;" (assignment_expression "uVar5 = local_24 - 8" (identifier "uVar5") (= "=") (binary_expression "local_24 - 8" (identifier "local_24") (- "-") (number_literal "8"))) (; ";")) (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")) (; ";")) (goto_statement "goto LAB_00045c5c;" (goto "goto") (statement_identifier "LAB_00045c5c") (; ";")) (} "}"))) (goto_statement "goto LAB_000455d0;" (goto "goto") (statement_identifier "LAB_000455d0") (; ";")) (} "}"))) (labeled_statement "LAB_00045898:\n  if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" (statement_identifier "LAB_00045898") (: ":") (if_statement "if (*(int *)(param_1 + 0x28) == 0) {\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }\n  else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x28) == 0" (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_28 = 0;\n    if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }\nLAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;\n    if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }\ncode_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;\n    local_24 = *param_2;\n    uVar6 = 0x16;\n    if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }\nLAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }\nLAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);\n    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }\nLAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);\n    uVar6 = *(uint *)(param_1 + 0x28);\n  }" ({ "{") (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar6 < 0x17) {\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }\n    else {\nLAB_000454e1:\n      uVar5 = 0;\n    }" (if "if") (parenthesized_expression "(uVar6 < 0x17)" (( "(") (binary_expression "uVar6 < 0x17" (identifier "uVar6") (< "<") (number_literal "0x17")) () ")")) (compound_statement "{\nLAB_00045654:\n      uVar5 = 0;\n      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;\n    }" ({ "{") (labeled_statement "LAB_00045654:\n      uVar5 = 0;" (statement_identifier "LAB_00045654") (: ":") (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";"))) (if_statement "if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;" (if "if") (parenthesized_expression "((0x421000U >> (uVar6 & 0x1f) & 1) != 0)" (( "(") (binary_expression "(0x421000U >> (uVar6 & 0x1f) & 1) != 0" (parenthesized_expression "(0x421000U >> (uVar6 & 0x1f) & 1)" (( "(") (binary_expression "0x421000U >> (uVar6 & 0x1f) & 1" (binary_expression "0x421000U >> (uVar6 & 0x1f)" (number_literal "0x421000U") (>> ">>") (parenthesized_expression "(uVar6 & 0x1f)" (( "(") (binary_expression "uVar6 & 0x1f" (identifier "uVar6") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00045468;" (goto "goto") (statement_identifier "LAB_00045468") (; ";"))) (} "}")) (else_clause "else {\nLAB_000454e1:\n      uVar5 = 0;\n    }" (else "else") (compound_statement "{\nLAB_000454e1:\n      uVar5 = 0;\n    }" ({ "{") (labeled_statement "LAB_000454e1:\n      uVar5 = 0;" (statement_identifier "LAB_000454e1") (: ":") (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";"))) (} "}")))) (labeled_statement "LAB_000454e3:\n    if (uVar6 != 0x16) goto LAB_0004542b;" (statement_identifier "LAB_000454e3") (: ":") (if_statement "if (uVar6 != 0x16) goto LAB_0004542b;" (if "if") (parenthesized_expression "(uVar6 != 0x16)" (( "(") (binary_expression "uVar6 != 0x16" (identifier "uVar6") (!= "!=") (number_literal "0x16")) () ")")) (goto_statement "goto LAB_0004542b;" (goto "goto") (statement_identifier "LAB_0004542b") (; ";")))) (if_statement "if (local_28 == 0) {\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }" (if "if") (parenthesized_expression "(local_28 == 0)" (( "(") (binary_expression "local_28 == 0" (identifier "local_28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_28 = *param_2;\n      goto LAB_00045b61;\n    }" ({ "{") (expression_statement "local_28 = *param_2;" (assignment_expression "local_28 = *param_2" (identifier "local_28") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (goto_statement "goto LAB_00045b61;" (goto "goto") (statement_identifier "LAB_00045b61") (; ";")) (} "}"))) (labeled_statement "code_r0x000454f8:\n    if ((*param_1 & 1) == 0) goto LAB_00045555;" (statement_identifier "code_r0x000454f8") (: ":") (if_statement "if ((*param_1 & 1) == 0) goto LAB_00045555;" (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_00045555;" (goto "goto") (statement_identifier "LAB_00045555") (; ";")))) (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" (identifier "local_24") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar6 = 0x16;" (assignment_expression "uVar6 = 0x16" (identifier "uVar6") (= "=") (number_literal "0x16")) (; ";")) (if_statement "if (local_24 + 0x1ff8 < 0x4000) {\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }" (if "if") (parenthesized_expression "(local_24 + 0x1ff8 < 0x4000)" (( "(") (binary_expression "local_24 + 0x1ff8 < 0x4000" (binary_expression "local_24 + 0x1ff8" (identifier "local_24") (+ "+") (number_literal "0x1ff8")) (< "<") (number_literal "0x4000")) () ")")) (compound_statement "{\nLAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;\nLAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));\n      if ((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }\n      goto LAB_0004542b;\n    }" ({ "{") (labeled_statement "LAB_00045bd8:\n      iVar3 = FUN_00038fd0(local_28);" (statement_identifier "LAB_00045bd8") (: ":") (expression_statement "iVar3 = FUN_00038fd0(local_28);" (assignment_expression "iVar3 = FUN_00038fd0(local_28)" (identifier "iVar3") (= "=") (call_expression "FUN_00038fd0(local_28)" (identifier "FUN_00038fd0") (argument_list "(local_28)" (( "(") (identifier "local_28") () ")")))) (; ";"))) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_0004542b;" (if "if") (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" (( "(") (binary_expression "(iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (( "(") (comma_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc))" (identifier "iVar3") (= "=") (call_expression "FUN_00039040(*(undefined4 *)(param_1 + 0xc))" (identifier "FUN_00039040") (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_0004542b;" (goto "goto") (statement_identifier "LAB_0004542b") (; ";"))) (labeled_statement "LAB_00045a2c:\n      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));" (statement_identifier "LAB_00045a2c") (: ":") (expression_statement "iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));" (assignment_expression "iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc))" (identifier "iVar3") (= "=") (call_expression "FUN_00039580(*(undefined4 *)(param_1 + 0xc))" (identifier "FUN_00039580") (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_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {\n        local_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }" (if "if") (parenthesized_expression "((iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))))" (( "(") (binary_expression "(iVar3 == puVar1[4]) &&\n         ((*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(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_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))" (( "(") (parenthesized_expression "(*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]))" (( "(") (binary_expression "*(int *)(param_1 + 0x10) == 0 ||\n          (iVar3 = FUN_00039580(*(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_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])" (( "(") (comma_expression "iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4]" (assignment_expression "iVar3 = FUN_00039580(*(int *)(param_1 + 0x10))" (identifier "iVar3") (= "=") (call_expression "FUN_00039580(*(int *)(param_1 + 0x10))" (identifier "FUN_00039580") (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_28 = *param_2;\n        uVar5 = local_28;\n        switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }\n      }" ({ "{") (expression_statement "local_28 = *param_2;" (assignment_expression "local_28 = *param_2" (identifier "local_28") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar5 = local_28;" (assignment_expression "uVar5 = local_28" (identifier "uVar5") (= "=") (identifier "local_28")) (; ";")) (switch_statement "switch(*puVar1) {\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }" (switch "switch") (parenthesized_expression "(*puVar1)" (( "(") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) () ")")) (compound_statement "{\n        case 0:\n          break;\n        case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;\n        case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;\n        case 3:\n        case 7:\n        case 10:\n        case 0xb:\n          uVar5 = (int)local_28 >> 0xb;\n          break;\n        case 4:\n        case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;\n        case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;\n        case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;\n        case 9:\n          uVar5 = 0;\n          break;\n        default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);\n        }" ({ "{") (case_statement "case 0:\n          break;" (case "case") (number_literal "0") (: ":") (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n          uVar5 = (int)(local_28 + 0x400) >> 0xb;\n          break;" (case "case") (number_literal "1") (: ":") (expression_statement "uVar5 = (int)(local_28 + 0x400) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x400) >> 0xb" (identifier "uVar5") (= "=") (binary_expression "(int)(local_28 + 0x400) >> 0xb" (cast_expression "(int)(local_28 + 0x400)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_28 + 0x400)" (( "(") (binary_expression "local_28 + 0x400" (identifier "local_28") (+ "+") (number_literal "0x400")) () ")"))) (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n          uVar5 = (int)(local_28 << 0x15) >> 0x15;\n          break;" (case "case") (number_literal "2") (: ":") (expression_statement "uVar5 = (int)(local_28 << 0x15) >> 0x15;" (assignment_expression "uVar5 = (int)(local_28 << 0x15) >> 0x15" (identifier "uVar5") (= "=") (binary_expression "(int)(local_28 << 0x15) >> 0x15" (cast_expression "(int)(local_28 << 0x15)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_28 << 0x15)" (( "(") (binary_expression "local_28 << 0x15" (identifier "local_28") (<< "<<") (number_literal "0x15")) () ")"))) (>> ">>") (number_literal "0x15"))) (; ";")) (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          uVar5 = (int)local_28 >> 0xb;\n          break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "uVar5 = (int)local_28 >> 0xb;" (assignment_expression "uVar5 = (int)local_28 >> 0xb" (identifier "uVar5") (= "=") (binary_expression "(int)local_28 >> 0xb" (cast_expression "(int)local_28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_28")) (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:" (case "case") (number_literal "4") (: ":")) (case_statement "case 8:\n          uVar5 = local_28 & 0x7ff;\n          break;" (case "case") (number_literal "8") (: ":") (expression_statement "uVar5 = local_28 & 0x7ff;" (assignment_expression "uVar5 = local_28 & 0x7ff" (identifier "uVar5") (= "=") (binary_expression "local_28 & 0x7ff" (identifier "local_28") (& "&") (number_literal "0x7ff"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n          uVar5 = (int)(local_28 + 0x800) >> 0xb;\n          break;" (case "case") (number_literal "5") (: ":") (expression_statement "uVar5 = (int)(local_28 + 0x800) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x800) >> 0xb" (identifier "uVar5") (= "=") (binary_expression "(int)(local_28 + 0x800) >> 0xb" (cast_expression "(int)(local_28 + 0x800)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_28 + 0x800)" (( "(") (binary_expression "local_28 + 0x800" (identifier "local_28") (+ "+") (number_literal "0x800")) () ")"))) (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n          uVar5 = local_28 | 0xfffff800;\n          break;" (case "case") (number_literal "6") (: ":") (expression_statement "uVar5 = local_28 | 0xfffff800;" (assignment_expression "uVar5 = local_28 | 0xfffff800" (identifier "uVar5") (= "=") (binary_expression "local_28 | 0xfffff800" (identifier "local_28") (| "|") (number_literal "0xfffff800"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n          uVar5 = 0;\n          break;" (case "case") (number_literal "9") (: ":") (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\nLAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);" (default "default") (: ":") (labeled_statement "LAB_00045e86:\n                    \n          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);" (statement_identifier "LAB_00045e86") (: ":") (expression_statement "FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);" (call_expression "FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28)" (identifier "FUN_0002d780") (argument_list "("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28)" (( "(") (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 "local_28") () ")"))) (; ";")))) (} "}"))) (} "}"))) (goto_statement "goto LAB_0004542b;" (goto "goto") (statement_identifier "LAB_0004542b") (; ";")) (} "}"))) (labeled_statement "LAB_0004551e:\n    if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }" (statement_identifier "LAB_0004551e") (: ":") (if_statement "if (local_24 + 0x7ffff8 < 0x1000000) {\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }" (if "if") (parenthesized_expression "(local_24 + 0x7ffff8 < 0x1000000)" (( "(") (binary_expression "local_24 + 0x7ffff8 < 0x1000000" (binary_expression "local_24 + 0x7ffff8" (identifier "local_24") (+ "+") (number_literal "0x7ffff8")) (< "<") (number_literal "0x1000000")) () ")")) (compound_statement "{\n      iVar3 = FUN_00038fd0(local_28);\n      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;\n      goto LAB_00045a2c;\n    }" ({ "{") (expression_statement "iVar3 = FUN_00038fd0(local_28);" (assignment_expression "iVar3 = FUN_00038fd0(local_28)" (identifier "iVar3") (= "=") (call_expression "FUN_00038fd0(local_28)" (identifier "FUN_00038fd0") (argument_list "(local_28)" (( "(") (identifier "local_28") () ")")))) (; ";")) (if_statement "if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))\n      goto LAB_00045555;" (if "if") (parenthesized_expression "((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))" (( "(") (binary_expression "(iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0)" (( "(") (comma_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0" (assignment_expression "iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc))" (identifier "iVar3") (= "=") (call_expression "FUN_00039040(*(undefined4 *)(param_1 + 0xc))" (identifier "FUN_00039040") (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_00045555;" (goto "goto") (statement_identifier "LAB_00045555") (; ";"))) (goto_statement "goto LAB_00045a2c;" (goto "goto") (statement_identifier "LAB_00045a2c") (; ";")) (} "}")))) (labeled_statement "LAB_00045560:\n    uVar6 = *(uint *)(param_1 + 0x28);" (statement_identifier "LAB_00045560") (: ":") (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";"))) (if_statement "if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))\n    {\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }\n    else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }" (if "if") (parenthesized_expression "(((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))" (( "(") (binary_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8)" (parenthesized_expression "((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000))" (( "(") (binary_expression "(uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)" (parenthesized_expression "(uVar6 == 10)" (( "(") (binary_expression "uVar6 == 10" (identifier "uVar6") (== "==") (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 "(0xffffff < local_24 + 0x7ffff8)" (( "(") (binary_expression "0xffffff < local_24 + 0x7ffff8" (number_literal "0xffffff") (< "<") (binary_expression "local_24 + 0x7ffff8" (identifier "local_24") (+ "+") (number_literal "0x7ffff8"))) () ")"))) () ")")) (compound_statement "{\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar5 = local_24 - 8;\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n    }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "uVar4") (= "=") (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 "uVar5 = local_24 - 8;" (assignment_expression "uVar5 = local_24 - 8" (identifier "uVar5") (= "=") (binary_expression "local_24 - 8" (identifier "local_24") (- "-") (number_literal "8"))) (; ";")) (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")) (; ";")) (} "}")) (else_clause "else {\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }" (else "else") (compound_statement "{\n      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x7fffff;\n      uVar7 = 0xff800000;\n      uVar5 = uVar5 - 8;\n    }" ({ "{") (if_statement "if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;" (if "if") (parenthesized_expression "(uVar5 + 0x7ffff8 < 0x1000000)" (( "(") (binary_expression "uVar5 + 0x7ffff8 < 0x1000000" (binary_expression "uVar5 + 0x7ffff8" (identifier "uVar5") (+ "+") (number_literal "0x7ffff8")) (< "<") (number_literal "0x1000000")) () ")")) (goto_statement "goto LAB_000455d0;" (goto "goto") (statement_identifier "LAB_000455d0") (; ";"))) (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "uVar4") (= "=") (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 "uVar5 = uVar5 - 8;" (assignment_expression "uVar5 = uVar5 - 8" (identifier "uVar5") (= "=") (binary_expression "uVar5 - 8" (identifier "uVar5") (- "-") (number_literal "8"))) (; ";")) (} "}")))) (labeled_statement "LAB_00045c5c:\n    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);" (statement_identifier "LAB_00045c5c") (: ":") (expression_statement "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5);" (call_expression "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5)" (identifier "FUN_0002d6b0") (argument_list "(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,\n                 uVar5)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (, ",") (identifier "uVar4") (, ",") (identifier "uVar7") (, ",") (identifier "uVar8") (, ",") (identifier "uVar5") () ")"))) (; ";"))) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" (else "else") (compound_statement "{\nLAB_00045b1b:\n    local_28 = *param_2;\n    switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }\n    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }\nLAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }\n  }" ({ "{") (labeled_statement "LAB_00045b1b:\n    local_28 = *param_2;" (statement_identifier "LAB_00045b1b") (: ":") (expression_statement "local_28 = *param_2;" (assignment_expression "local_28 = *param_2" (identifier "local_28") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";"))) (switch_statement "switch(*puVar1) {\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }" (switch "switch") (parenthesized_expression "(*puVar1)" (( "(") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) () ")")) (compound_statement "{\n    case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;\n    case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;\n    case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;\n    case 3:\n    case 7:\n    case 10:\n    case 0xb:\n      uVar5 = (int)local_28 >> 0xb;\n      break;\n    case 4:\n    case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;\n    case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;\n    case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;\n    case 9:\n      uVar5 = 0;\n      break;\n    default:\n      goto LAB_00045e86;\n    }" ({ "{") (case_statement "case 0:\n      uVar5 = local_28;\n      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;\n      goto code_r0x00045b58;" (case "case") (number_literal "0") (: ":") (expression_statement "uVar5 = local_28;" (assignment_expression "uVar5 = local_28" (identifier "uVar5") (= "=") (identifier "local_28")) (; ";")) (if_statement "if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;" (if "if") (parenthesized_expression "((uVar6 == 0xc) || (uVar6 == 0x11))" (( "(") (binary_expression "(uVar6 == 0xc) || (uVar6 == 0x11)" (parenthesized_expression "(uVar6 == 0xc)" (( "(") (binary_expression "uVar6 == 0xc" (identifier "uVar6") (== "==") (number_literal "0xc")) () ")")) (|| "||") (parenthesized_expression "(uVar6 == 0x11)" (( "(") (binary_expression "uVar6 == 0x11" (identifier "uVar6") (== "==") (number_literal "0x11")) () ")"))) () ")")) (goto_statement "goto LAB_0004542b;" (goto "goto") (statement_identifier "LAB_0004542b") (; ";"))) (goto_statement "goto code_r0x00045b58;" (goto "goto") (statement_identifier "code_r0x00045b58") (; ";"))) (case_statement "case 1:\n      uVar5 = (int)(local_28 + 0x400) >> 0xb;\n      break;" (case "case") (number_literal "1") (: ":") (expression_statement "uVar5 = (int)(local_28 + 0x400) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x400) >> 0xb" (identifier "uVar5") (= "=") (binary_expression "(int)(local_28 + 0x400) >> 0xb" (cast_expression "(int)(local_28 + 0x400)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_28 + 0x400)" (( "(") (binary_expression "local_28 + 0x400" (identifier "local_28") (+ "+") (number_literal "0x400")) () ")"))) (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n      uVar5 = (int)(local_28 << 0x15) >> 0x15;\n      break;" (case "case") (number_literal "2") (: ":") (expression_statement "uVar5 = (int)(local_28 << 0x15) >> 0x15;" (assignment_expression "uVar5 = (int)(local_28 << 0x15) >> 0x15" (identifier "uVar5") (= "=") (binary_expression "(int)(local_28 << 0x15) >> 0x15" (cast_expression "(int)(local_28 << 0x15)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_28 << 0x15)" (( "(") (binary_expression "local_28 << 0x15" (identifier "local_28") (<< "<<") (number_literal "0x15")) () ")"))) (>> ">>") (number_literal "0x15"))) (; ";")) (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      uVar5 = (int)local_28 >> 0xb;\n      break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "uVar5 = (int)local_28 >> 0xb;" (assignment_expression "uVar5 = (int)local_28 >> 0xb" (identifier "uVar5") (= "=") (binary_expression "(int)local_28 >> 0xb" (cast_expression "(int)local_28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_28")) (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:" (case "case") (number_literal "4") (: ":")) (case_statement "case 8:\n      uVar5 = local_28 & 0x7ff;\n      break;" (case "case") (number_literal "8") (: ":") (expression_statement "uVar5 = local_28 & 0x7ff;" (assignment_expression "uVar5 = local_28 & 0x7ff" (identifier "uVar5") (= "=") (binary_expression "local_28 & 0x7ff" (identifier "local_28") (& "&") (number_literal "0x7ff"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n      uVar5 = (int)(local_28 + 0x800) >> 0xb;\n      break;" (case "case") (number_literal "5") (: ":") (expression_statement "uVar5 = (int)(local_28 + 0x800) >> 0xb;" (assignment_expression "uVar5 = (int)(local_28 + 0x800) >> 0xb" (identifier "uVar5") (= "=") (binary_expression "(int)(local_28 + 0x800) >> 0xb" (cast_expression "(int)(local_28 + 0x800)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_28 + 0x800)" (( "(") (binary_expression "local_28 + 0x800" (identifier "local_28") (+ "+") (number_literal "0x800")) () ")"))) (>> ">>") (number_literal "0xb"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n      uVar5 = local_28 | 0xfffff800;\n      break;" (case "case") (number_literal "6") (: ":") (expression_statement "uVar5 = local_28 | 0xfffff800;" (assignment_expression "uVar5 = local_28 | 0xfffff800" (identifier "uVar5") (= "=") (binary_expression "local_28 | 0xfffff800" (identifier "local_28") (| "|") (number_literal "0xfffff800"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n      uVar5 = 0;\n      break;" (case "case") (number_literal "9") (: ":") (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n      goto LAB_00045e86;" (default "default") (: ":") (goto_statement "goto LAB_00045e86;" (goto "goto") (statement_identifier "LAB_00045e86") (; ";"))) (} "}"))) (if_statement "if ((uVar6 != 0xc) && (uVar6 != 0x11)) {\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }" (if "if") (parenthesized_expression "((uVar6 != 0xc) && (uVar6 != 0x11))" (( "(") (binary_expression "(uVar6 != 0xc) && (uVar6 != 0x11)" (parenthesized_expression "(uVar6 != 0xc)" (( "(") (binary_expression "uVar6 != 0xc" (identifier "uVar6") (!= "!=") (number_literal "0xc")) () ")")) (&& "&&") (parenthesized_expression "(uVar6 != 0x11)" (( "(") (binary_expression "uVar6 != 0x11" (identifier "uVar6") (!= "!=") (number_literal "0x11")) () ")"))) () ")")) (compound_statement "{\ncode_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }\n    }" ({ "{") (labeled_statement "code_r0x00045b58:\n      if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }" (statement_identifier "code_r0x00045b58") (: ":") (if_statement "if (uVar6 == 0x16) {\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }" (if "if") (parenthesized_expression "(uVar6 == 0x16)" (( "(") (binary_expression "uVar6 == 0x16" (identifier "uVar6") (== "==") (number_literal "0x16")) () ")")) (compound_statement "{\nLAB_00045b61:\n        local_24 = local_28;\n        goto LAB_00045560;\n      }" ({ "{") (labeled_statement "LAB_00045b61:\n        local_24 = local_28;" (statement_identifier "LAB_00045b61") (: ":") (expression_statement "local_24 = local_28;" (assignment_expression "local_24 = local_28" (identifier "local_24") (= "=") (identifier "local_28")) (; ";"))) (goto_statement "goto LAB_00045560;" (goto "goto") (statement_identifier "LAB_00045560") (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_0004542b:\n                    \n    switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }" (statement_identifier "LAB_0004542b") (: ":") (switch_statement "switch(uVar6) {\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }" (switch "switch") (parenthesized_expression "(uVar6)" (( "(") (identifier "uVar6") () ")")) (compound_statement "{\n    case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;\n    case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;\n    case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;\n    default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;\n    case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);\n    }" ({ "{") (case_statement "case 10:\n      if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }\ncode_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n      uVar8 = 0x1fff;\n      uVar7 = 0xffffe000;\n      goto LAB_00045c5c;" (case "case") (number_literal "10") (: ":") (if_statement "if (uVar5 + 0x2000 < 0x4000) {\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }" (if "if") (parenthesized_expression "(uVar5 + 0x2000 < 0x4000)" (( "(") (binary_expression "uVar5 + 0x2000 < 0x4000" (binary_expression "uVar5 + 0x2000" (identifier "uVar5") (+ "+") (number_literal "0x2000")) (< "<") (number_literal "0x4000")) () ")")) (compound_statement "{\n        uVar6 = *(uint *)(param_1 + 0x28);\n        break;\n      }" ({ "{") (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (labeled_statement "code_r0x00045c30:\n      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (statement_identifier "code_r0x00045c30") (: ":") (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "uVar4") (= "=") (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_00045c5c;" (goto "goto") (statement_identifier "LAB_00045c5c") (; ";"))) (case_statement "case 0xc:\n      uVar2 = uVar5 + 0x1ff8;\n      uVar5 = uVar5 - 8;\n      if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "uVar2 = uVar5 + 0x1ff8;" (assignment_expression "uVar2 = uVar5 + 0x1ff8" (identifier "uVar2") (= "=") (binary_expression "uVar5 + 0x1ff8" (identifier "uVar5") (+ "+") (number_literal "0x1ff8"))) (; ";")) (expression_statement "uVar5 = uVar5 - 8;" (assignment_expression "uVar5 = uVar5 - 8" (identifier "uVar5") (= "=") (binary_expression "uVar5 - 8" (identifier "uVar5") (- "-") (number_literal "8"))) (; ";")) (if_statement "if (0x3fff < uVar2) {\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }" (if "if") (parenthesized_expression "(0x3fff < uVar2)" (( "(") (binary_expression "0x3fff < uVar2" (number_literal "0x3fff") (< "<") (identifier "uVar2")) () ")")) (compound_statement "{\n        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);\n        uVar8 = 0x1fff;\n        uVar7 = 0xffffe000;\n        goto LAB_00045c5c;\n      }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);" (assignment_expression "uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5)" (identifier "uVar4") (= "=") (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_00045c5c;" (goto "goto") (statement_identifier "LAB_00045c5c") (; ";")) (} "}"))) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xe:\n      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" (case "case") (number_literal "0xe") (: ":") (if_statement "if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;" (if "if") (parenthesized_expression "(0x3fff < uVar5 + 0x2000)" (( "(") (binary_expression "0x3fff < uVar5 + 0x2000" (number_literal "0x3fff") (< "<") (binary_expression "uVar5 + 0x2000" (identifier "uVar5") (+ "+") (number_literal "0x2000"))) () ")")) (goto_statement "goto code_r0x00045c30;" (goto "goto") (statement_identifier "code_r0x00045c30") (; ";"))) (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x10:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" (case "case") (number_literal "0x10") (: ":") (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x16:\nLAB_00045555:\n      local_24 = *param_2;\n      goto LAB_00045560;" (case "case") (number_literal "0x16") (: ":") (labeled_statement "LAB_00045555:\n      local_24 = *param_2;" (statement_identifier "LAB_00045555") (: ":") (expression_statement "local_24 = *param_2;" (assignment_expression "local_24 = *param_2" (identifier "local_24") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";"))) (goto_statement "goto LAB_00045560;" (goto "goto") (statement_identifier "LAB_00045560") (; ";"))) (case_statement "case 0x20:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" (case "case") (number_literal "0x20") (: ":") (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xfffffff0:\n      uVar6 = *(uint *)(param_1 + 0x28);\n      break;" (case "case") (number_literal "0xfffffff0") (: ":") (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);\n      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);\n      return;" (default "default") (: ":") (expression_statement "uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);" (assignment_expression "uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5)" (identifier "uVar4") (= "=") (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_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);" (call_expression "FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4)" (identifier "FUN_0002d6b0") (argument_list "(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (, ",") (identifier "uVar4") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "case 0xfffffff6:\n      uVar6 = *(uint *)(param_1 + 0x28);" (case "case") (number_literal "0xfffffff6") (: ":") (expression_statement "uVar6 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x28)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";"))) (} "}")))) (} "}"))))) (labeled_statement "LAB_000455d0:\n  if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }" (statement_identifier "LAB_000455d0") (: ":") (if_statement "if (uVar6 != 0xa6) {\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }" (if "if") (parenthesized_expression "(uVar6 != 0xa6)" (( "(") (binary_expression "uVar6 != 0xa6" (identifier "uVar6") (!= "!=") (number_literal "0xa6")) () ")")) (compound_statement "{\n    if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;\n  }" ({ "{") (if_statement "if (uVar6 < 0xa7) {\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }\n    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;" (if "if") (parenthesized_expression "(uVar6 < 0xa7)" (( "(") (binary_expression "uVar6 < 0xa7" (identifier "uVar6") (< "<") (number_literal "0xa7")) () ")")) (compound_statement "{\n      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;\n    }" ({ "{") (if_statement "if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;" (if "if") (parenthesized_expression "((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a))))" (( "(") (binary_expression "(uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))" (parenthesized_expression "(uVar6 != 0x9e)" (( "(") (binary_expression "uVar6 != 0x9e" (identifier "uVar6") (!= "!=") (number_literal "0x9e")) () ")")) (&& "&&") (parenthesized_expression "((uVar6 != 0xa2 && (uVar6 != 0x9a)))" (( "(") (parenthesized_expression "(uVar6 != 0xa2 && (uVar6 != 0x9a))" (( "(") (binary_expression "uVar6 != 0xa2 && (uVar6 != 0x9a)" (binary_expression "uVar6 != 0xa2" (identifier "uVar6") (!= "!=") (number_literal "0xa2")) (&& "&&") (parenthesized_expression "(uVar6 != 0x9a)" (( "(") (binary_expression "uVar6 != 0x9a" (identifier "uVar6") (!= "!=") (number_literal "0x9a")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00045602;" (goto "goto") (statement_identifier "LAB_00045602") (; ";"))) (} "}")) (else_clause "else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;" (else "else") (if_statement "if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;" (if "if") (parenthesized_expression "((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed))))" (( "(") (binary_expression "(uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))" (parenthesized_expression "(uVar6 < 0xea)" (( "(") (binary_expression "uVar6 < 0xea" (identifier "uVar6") (< "<") (number_literal "0xea")) () ")")) (|| "||") (parenthesized_expression "((0xeb < uVar6 && (1 < uVar6 - 0xed)))" (( "(") (parenthesized_expression "(0xeb < uVar6 && (1 < uVar6 - 0xed))" (( "(") (binary_expression "0xeb < uVar6 && (1 < uVar6 - 0xed)" (binary_expression "0xeb < uVar6" (number_literal "0xeb") (< "<") (identifier "uVar6")) (&& "&&") (parenthesized_expression "(1 < uVar6 - 0xed)" (( "(") (binary_expression "1 < uVar6 - 0xed" (number_literal "1") (< "<") (binary_expression "uVar6 - 0xed" (identifier "uVar6") (- "-") (number_literal "0xed"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00045602;" (goto "goto") (statement_identifier "LAB_00045602") (; ";"))))) (} "}")))) (if_statement "if (*(int *)(param_1 + 0xc) != 0) {\n    FUN_0003bae0(*(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_0003bae0(*(int *)(param_1 + 0xc));\n  }" ({ "{") (expression_statement "FUN_0003bae0(*(int *)(param_1 + 0xc));" (call_expression "FUN_0003bae0(*(int *)(param_1 + 0xc))" (identifier "FUN_0003bae0") (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_00045602:\n                    \n                    \n  (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();" (statement_identifier "LAB_00045602") (: ":") (expression_statement "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();" (call_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))()" (parenthesized_expression "(**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))" (( "(") (pointer_expression "**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30)" (* "*") (pointer_expression "*(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30)" (* "*") (cast_expression "(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(DAT_00083ec4 + 4) + 0x30)" (( "(") (binary_expression "*(int *)(DAT_00083ec4 + 4) + 0x30" (pointer_expression "*(int *)(DAT_00083ec4 + 4)" (* "*") (cast_expression "(int *)(DAT_00083ec4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00083ec4 + 4)" (( "(") (binary_expression "DAT_00083ec4 + 4" (identifier "DAT_00083ec4") (+ "+") (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,0x00045e07) */

void function_1(type_1 *var_11,type_2 *valP,type_3 seg)

{
  type_4 *var_3;
  type_5 var_7;
  int var_14;
  type_6 var_1;
  char *pcVar5;
  type_3 var_18;
  char *format;
  type_7 var_19;
  type_7 var_21;
  type_7 var_10;
  type_4 uVar10;
  type_4 uVar11;
  type_8 *var_8;
  type_7 var_12;
  
  var_1 = var_11->fx_r_type;
  if (var_1 - var_2 < 2) {
    return;
  }
  if ((var_11->fx_addsy == (type_8 *)0x0) && ((*(type_9 *)var_11 & 1) == 0)) {
    *(type_9 *)var_11 = *(type_9 *)var_11 | 0x20;
  }
  var_3 = (type_4 *)var_11->tc_fix_data;
  if (var_3 == (type_4 *)0x0) {
    pcVar5 = (char *)var_4(0,"no hppa_fixup entry for fixup type 0x%x",5);
    var_5(var_11->fx_file,var_11->fx_line,pcVar5,var_1);
    return;
  }
  pcVar5 = var_11->fx_frag->fr_literal + var_11->fx_where;
  if ((var_11->fx_size != 4) || (var_3[2] == 0x20)) {
    var_6(pcVar5,*valP,(type_7)var_11->fx_size);
    return;
  }
  var_7 = (*stdoutput->xvec->bfd_getx32)(pcVar5);
  switch(var_7 >> 0x1a) {
  case 8:
  case 10:
    var_10 = 0x15;
    break;
  default:
    var_10 = 0x20;
    goto LAB_000454d2;
  case 0xd:
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x18:
  case 0x19:
  case 0x1a:
  case 0x1b:
    var_10 = (-(type_7)(stdoutput->arch_info->mach < 0x19) & 0xfffffffe) + 0x10;
    break;
  case 0x14:
  case 0x1c:
    if (0x18 < stdoutput->arch_info->mach) {
      var_10 = 0xfffffff6;
      goto LAB_000454d2;
    }
    var_10 = 10;
    break;
  case 0x16:
  case 0x17:
  case 0x1e:
  case 0x1f:
    var_10 = (-(type_7)(stdoutput->arch_info->mach < 0x19) & 5) - 0x10;
LAB_000454d2:
    var_8 = var_11->fx_addsy;
    if (var_8 == (type_8 *)0x0) goto LAB_00045898;
    goto LAB_000454e1;
  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_11->fx_addsy;
    var_10 = 0xb;
    if (var_8 != (type_8 *)0x0) goto LAB_00045654;
    var_1 = var_11->fx_r_type;
joined_r0x00045c85:
    if (var_1 == var_9) goto LAB_00045654;
    goto LAB_00045b1b;
  case 0x38:
  case 0x39:
    var_10 = 0x11;
LAB_00045405:
    var_8 = var_11->fx_addsy;
    if (var_8 == (type_8 *)0x0) {
      var_1 = var_11->fx_r_type;
      goto joined_r0x00045c85;
    }
    if (var_10 == 0x11) goto LAB_0004541d;
    if (var_10 != 0x16) goto LAB_0004547e;
    var_19 = 8;
    goto LAB_000454f8;
  case 0x3a:
    var_10 = 0x11;
    if ((var_7 & 0x8000) != 0) {
      var_10 = 0x16;
      goto LAB_00045405;
    }
  }
  var_8 = var_11->fx_addsy;
  if (var_8 != (type_8 *)0x0) {
    var_19 = 0;
    if ((0x421000U >> (var_10 & 0x1f) & 1) == 0) goto _L799;
LAB_00045468:
    if ((var_10 != 0x11) && (var_10 != 0xc)) {
      var_19 = 8;
      goto LAB_000454e3;
    }
    if (var_8 == (type_8 *)0x0) {
LAB_0004547e:
      var_19 = 8;
      goto _L799;
    }
LAB_0004541d:
    var_19 = 8;
    if ((type_10  [60])((type_10  [60])*var_11 & (type_10  [60])0x1) == (type_10  [60])0x0
       ) goto _L799;
    var_12 = *valP;
    if (var_12 + 0x1ff8 < 0x4000) goto LAB_00045bd8;
    if (var_10 != 0x11) {
      if (var_10 != 0x16) goto _L799;
      goto LAB_0004551e;
    }
    if (var_12 + 0x3fff8 < 0x80000) {
      var_14 = var_13(var_8);
      if (var_14 == 0) {
        var_14 = var_15(var_11->fx_addsy);
        var_19 = 8;
        if (var_14 == 0) goto LAB_00045a2c;
      }
      var_12 = *valP;
    }
    var_1 = var_11->fx_r_type;
    if (((var_1 != var_16) || ((var_7 & 0xffe00000) != 0xe8000000)) ||
       (var_12 + 0x3fff8 < 0x80000)) {
      var_10 = var_7 & 0xffe0e002;
      var_14 = 0;
      var_19 = 0;
      goto LAB_000455b7;
    }
    format = (char *)var_4(0,"Field out of range [%d..%d] (%d).",5);
    var_19 = var_12 - 8;
    uVar11 = 0x3ffff;
    uVar10 = 0xfffc0000;
LAB_00045c5c:
    var_5(var_11->fx_file,var_11->fx_line,format,uVar10,uVar11,var_19);
    var_1 = var_11->fx_r_type;
    var_19 = var_7;
    goto LAB_000455d0;
  }
LAB_00045898:
  if (var_11->fx_r_type == var_9) {
    var_8 = (type_8 *)0x0;
    if (var_10 < 0x17) {
LAB_00045654:
      var_19 = 0;
      if ((0x421000U >> (var_10 & 0x1f) & 1) != 0) goto LAB_00045468;
    }
    else {
LAB_000454e1:
      var_19 = 0;
    }
LAB_000454e3:
    if (var_10 != 0x16) goto _L799;
    if (var_8 == (type_8 *)0x0) {
      var_8 = (type_8 *)*valP;
      goto LAB_00045b61;
    }
LAB_000454f8:
    if ((type_10  [60])((type_10  [60])*var_11 & (type_10  [60])0x1) == (type_10  [60])0x0
       ) goto _L918;
    var_12 = *valP;
    var_10 = 0x16;
    if (var_12 + 0x1ff8 < 0x4000) {
LAB_00045bd8:
      var_14 = var_13(var_8);
      if ((var_14 != 0) || (var_14 = var_15(var_11->fx_addsy), var_14 != 0)) goto _L799;
LAB_00045a2c:
      var_18 = var_17(var_11->fx_addsy);
      if ((var_18 == (type_3)var_3[4]) &&
         ((var_11->fx_subsy == (type_8 *)0x0 ||
          (var_18 = var_17(var_11->fx_subsy), var_18 == (type_3)var_3[4])))) {
        var_19 = *valP;
        switch(*var_3) {
        case 0:
          break;
        case 1:
          var_19 = (int)(var_19 + 0x400) >> 0xb;
          break;
        case 2:
          var_19 = (int)(var_19 << 0x15) >> 0x15;
          break;
        case 3:
        case 7:
        case 10:
        case 0xb:
          var_19 = (int)var_19 >> 0xb;
          break;
        case 4:
        case 8:
          var_19 = var_19 & 0x7ff;
          break;
        case 5:
          var_19 = (int)(var_19 + 0x800) >> 0xb;
          break;
        case 6:
          var_19 = var_19 | 0xfffff800;
          break;
        case 9:
          var_19 = 0;
          break;
        default:
switchD_00045aa1_caseD_c:
                    /* WARNING: Subroutine does not return */
          var_20("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust");
        }
      }
      goto _L799;
    }
LAB_0004551e:
    if (var_12 + 0x7ffff8 < 0x1000000) {
      var_14 = var_13(var_8);
      if ((var_14 != 0) || (var_14 = var_15(var_11->fx_addsy), var_14 != 0)) goto _L918;
      goto LAB_00045a2c;
    }
LAB_00045560:
    var_1 = var_11->fx_r_type;
    if (((var_1 == var_16) && ((var_7 & 0xffe00000) == 0xe8000000)) &&
       (0xffffff < var_12 + 0x7ffff8)) {
      format = (char *)var_4(0,"Field out of range [%d..%d] (%d).",5);
      var_19 = var_12 - 8;
      uVar11 = 0x7fffff;
      uVar10 = 0xff800000;
    }
    else {
      var_10 = var_19 - 8;
      if (var_19 + 0x7ffff8 < 0x1000000) {
        var_14 = (int)var_10 >> 2;
        var_19 = var_14 << 5;
        var_10 = var_7 & 0xfc00e002 | (int)var_10 >> 10 & 4U | (int)var_10 >> 0x17 & 1U |
                var_19 & 0x3e00000;
LAB_000455b7:
        var_19 = var_10 | var_19 & 0x1f0000 | var_14 * 8 & 0x1ff8U;
        goto LAB_000455d0;
      }
      format = (char *)var_4(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x7fffff;
      uVar10 = 0xff800000;
      var_19 = var_10;
    }
    goto LAB_00045c5c;
  }
LAB_00045b1b:
  var_8 = (type_8 *)*valP;
  switch(*var_3) {
  case 0:
    var_19 = (type_7)var_8;
    if ((var_10 == 0xc) || (var_10 == 0x11)) goto _L799;
    goto LAB_00045b58;
  case 1:
    var_19 = (int)((int)var_8 + 0x400U) >> 0xb;
    break;
  case 2:
    var_19 = ((int)var_8 << 0x15) >> 0x15;
    break;
  case 3:
  case 7:
  case 10:
  case 0xb:
    var_19 = (int)var_8 >> 0xb;
    break;
  case 4:
  case 8:
    var_19 = (type_7)var_8 & 0x7ff;
    break;
  case 5:
    var_19 = (int)((int)var_8 + 0x800U) >> 0xb;
    break;
  case 6:
    var_19 = (type_7)var_8 | 0xfffff800;
    break;
  case 9:
    var_19 = 0;
    break;
  default:
    goto switchD_00045aa1_caseD_c;
  }
  if ((var_10 != 0xc) && (var_10 != 0x11)) {
LAB_00045b58:
    if (var_10 == 0x16) {
LAB_00045b61:
      var_12 = (type_7)var_8;
      goto LAB_00045560;
    }
  }
_L799:
  if (0x30 < var_10 + 0x10) {
_L820:
    pcVar5 = (char *)var_4(0,"Unknown relocation encountered in md_apply_fix.",5);
    var_5(var_11->fx_file,var_11->fx_line,pcVar5);
    return;
  }
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(var_10) {
  case 10:
    if (0x3fff < var_19 + 0x2000) {
LAB_00045c30:
      format = (char *)var_4(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x1fff;
      uVar10 = 0xffffe000;
      goto LAB_00045c5c;
    }
    var_1 = var_11->fx_r_type;
    var_19 = var_7 & 0xffffc00e | var_19 * 2 & 0x3ff0 | (int)var_19 >> 0xd & 1U;
    break;
  case 0xc:
    var_10 = var_19 + 0x1ff8;
    var_19 = var_19 - 8;
    if (0x3fff < var_10) {
      format = (char *)var_4(0,"Field out of range [%d..%d] (%d).",5);
      uVar11 = 0x1fff;
      uVar10 = 0xffffe000;
      goto LAB_00045c5c;
    }
    var_1 = var_11->fx_r_type;
    var_19 = (int)var_19 >> 10 & 4U | (int)var_19 >> 0xd & 1U | var_7 & 0xffffe002 | var_19 * 2 & 0x1ff8
    ;
    break;
  case 0xe:
    if (0x3fff < var_19 + 0x2000) goto LAB_00045c30;
    var_1 = var_11->fx_r_type;
    var_19 = var_7 & 0xffffc000 | (int)var_19 >> 0xd & 1U | var_19 * 2 & 0x3ffe;
    break;
  case 0x10:
    var_21 = var_19 * 2 & 0xffff;
    var_10 = var_7 & 0xffff0000 | (int)(var_19 & 0x8000) >> 0xf;
    var_1 = var_11->fx_r_type;
LAB_000456fa:
    var_19 = var_10 | var_21 ^ (int)(var_19 & 0x8000) >> 1 ^ var_19 & 0x8000;
    break;
  case 0x16:
_L918:
    var_12 = *valP;
    goto LAB_00045560;
  case 0x20:
    var_1 = var_11->fx_r_type;
    break;
  case 0xfffffff0:
    var_10 = var_19 & 0x8000;
    var_1 = var_11->fx_r_type;
    var_19 = var_7 & 0xffff0006 | (int)var_10 >> 0xf | var_19 * 2 & 0xfff8 ^ (int)var_10 >> 1 ^ var_10;
    break;
  default:
    goto _L820;
  case 0xfffffff6:
    var_21 = var_19 * 2 & 0xfff0;
    var_10 = var_7 & 0xffff000e | (int)(var_19 & 0x8000) >> 0xf;
    var_1 = var_11->fx_r_type;
    goto LAB_000456fa;
  }
LAB_000455d0:
  if (var_1 != var_22) {
    if (var_1 < var_23) {
      if ((var_1 != var_24) &&
         ((var_1 != var_25 && (var_1 != var_26)))) goto LAB_00045602;
    }
    else if ((var_1 < var_27) ||
            ((var_28 < var_1 && (1 < var_1 - var_29))))
    goto LAB_00045602;
  }
  if (var_11->fx_addsy != (type_8 *)0x0) {
    var_30(var_11->fx_addsy);
  }
LAB_00045602:
                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*stdoutput->xvec->bfd_putx32)(var_19,pcVar5);
  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: (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))))) (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: (type_identifier) 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: (type_identifier) 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: (type_identifier) 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) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (identifier) right: (number_literal))) consequence: (compound_statement (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)))) (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: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) 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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (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: (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 (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: (binary_expression left: (identifier) right: (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)))) (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) (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (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: (pointer_expression argument: (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: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (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: (identifier))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (break_statement)) (case_statement value: (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))) (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) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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 (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) 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)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (switch_statement condition: (parenthesized_expression (pointer_expression argument: (identifier))) body: (compound_statement (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (break_statement)) (case_statement value: (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))) (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: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (break_statement))) (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))) (goto_statement label: (statement_identifier))) (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: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) 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) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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: (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: (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) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (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: (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 (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) (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,0x00045e07) */

void MASKED(byte *param_1,uint *param_2)

{
  undefined4 *puVar1;
  uint uVar2;
  int iVar3;
  undefined4 uVar4;
  uint uVar5;
  uint uVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  uint local_28;
  uint local_24;
  
  iVar3 = *(int *)(param_1 + 0x28);
  if (iVar3 - 0xe8U < 2) {
    return;
  }
  if ((*(int *)(param_1 + 0xc) == 0) && ((*param_1 & 1) == 0)) {
    *param_1 = *param_1 | 0x20;
  }
  puVar1 = *(undefined4 **)(param_1 + 0x38);
  if (puVar1 == (undefined4 *)0x0) {
    uVar4 = dcgettext(0,"no hppa_fixup entry for fixup type 0x%x",5);
    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,iVar3);
    return;
  }
  iVar3 = *(int *)(param_1 + 4) + 0x38 + *(int *)(param_1 + 8);
  if ((param_1[2] != 4) || (puVar1[2] == 0x20)) {
    FUN_000413d0(iVar3,*param_2,param_1[2]);
    return;
  }
  uVar2 = (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x28))(iVar3);
  switch(uVar2 >> 0x1a) {
  case 8:
  case 10:
    uVar6 = 0x15;
    break;
  default:
    uVar6 = 0x20;
    goto LAB_000454d2;
  case 0xd:
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x18:
  case 0x19:
  case 0x1a:
  case 0x1b:
    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 0xfffffffe) + 0x10;
    break;
  case 0x14:
  case 0x1c:
    if (0x18 < *(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10)) {
      uVar6 = 0xfffffff6;
      goto LAB_000454d2;
    }
    uVar6 = 10;
    break;
  case 0x16:
  case 0x17:
  case 0x1e:
  case 0x1f:
    uVar6 = (-(uint)(*(uint *)(*(int *)(DAT_00083ec4 + 0x80) + 0x10) < 0x19) & 5) - 0x10;
LAB_000454d2:
    local_28 = *(uint *)(param_1 + 0xc);
    if (local_28 == 0) goto LAB_00045898;
    goto LAB_000454e1;
  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:
    uVar6 = 0xc;
    break;
  case 0x24:
  case 0x25:
  case 0x2c:
  case 0x2d:
    local_28 = *(uint *)(param_1 + 0xc);
    uVar6 = 0xb;
    if (local_28 != 0) goto LAB_00045654;
    iVar3 = *(int *)(param_1 + 0x28);
joined_r0x00045c85:
    if (iVar3 == 0) goto LAB_00045654;
    goto LAB_00045b1b;
  case 0x38:
  case 0x39:
    uVar6 = 0x11;
code_r0x00045405:
    local_28 = *(uint *)(param_1 + 0xc);
    if (local_28 == 0) {
      iVar3 = *(int *)(param_1 + 0x28);
      goto joined_r0x00045c85;
    }
    if (uVar6 == 0x11) goto LAB_0004541d;
    if (uVar6 != 0x16) goto code_r0x0004547e;
    uVar5 = 8;
    goto code_r0x000454f8;
  case 0x3a:
    uVar6 = 0x11;
    if ((uVar2 & 0x8000) != 0) {
      uVar6 = 0x16;
      goto code_r0x00045405;
    }
  }
  local_28 = *(uint *)(param_1 + 0xc);
  if (local_28 != 0) {
    uVar5 = 0;
    if ((0x421000U >> (uVar6 & 0x1f) & 1) == 0) goto LAB_0004542b;
LAB_00045468:
    if ((uVar6 != 0x11) && (uVar6 != 0xc)) {
      uVar5 = 8;
      goto LAB_000454e3;
    }
    if (local_28 == 0) {
code_r0x0004547e:
      uVar5 = 8;
      goto LAB_0004542b;
    }
LAB_0004541d:
    uVar5 = 8;
    if ((*param_1 & 1) == 0) goto LAB_0004542b;
    local_24 = *param_2;
    if (local_24 + 0x1ff8 < 0x4000) goto LAB_00045bd8;
    if (uVar6 != 0x11) {
      if (uVar6 != 0x16) goto LAB_0004542b;
      goto LAB_0004551e;
    }
    if (local_24 + 0x3fff8 < 0x80000) {
      iVar3 = FUN_00038fd0(local_28);
      if (iVar3 == 0) {
        iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc));
        uVar5 = 8;
        if (iVar3 == 0) goto LAB_00045a2c;
      }
      local_24 = *param_2;
    }
    uVar6 = *(uint *)(param_1 + 0x28);
    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0x7ffff < local_24 + 0x3fff8)) {
      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar5 = local_24 - 8;
      uVar8 = 0x3ffff;
      uVar7 = 0xfffc0000;
      goto LAB_00045c5c;
    }
    goto LAB_000455d0;
  }
LAB_00045898:
  if (*(int *)(param_1 + 0x28) == 0) {
    local_28 = 0;
    if (uVar6 < 0x17) {
LAB_00045654:
      uVar5 = 0;
      if ((0x421000U >> (uVar6 & 0x1f) & 1) != 0) goto LAB_00045468;
    }
    else {
LAB_000454e1:
      uVar5 = 0;
    }
LAB_000454e3:
    if (uVar6 != 0x16) goto LAB_0004542b;
    if (local_28 == 0) {
      local_28 = *param_2;
      goto LAB_00045b61;
    }
code_r0x000454f8:
    if ((*param_1 & 1) == 0) goto LAB_00045555;
    local_24 = *param_2;
    uVar6 = 0x16;
    if (local_24 + 0x1ff8 < 0x4000) {
LAB_00045bd8:
      iVar3 = FUN_00038fd0(local_28);
      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))
      goto LAB_0004542b;
LAB_00045a2c:
      iVar3 = FUN_00039580(*(undefined4 *)(param_1 + 0xc));
      if ((iVar3 == puVar1[4]) &&
         ((*(int *)(param_1 + 0x10) == 0 ||
          (iVar3 = FUN_00039580(*(int *)(param_1 + 0x10)), iVar3 == puVar1[4])))) {
        local_28 = *param_2;
        uVar5 = local_28;
        switch(*puVar1) {
        case 0:
          break;
        case 1:
          uVar5 = (int)(local_28 + 0x400) >> 0xb;
          break;
        case 2:
          uVar5 = (int)(local_28 << 0x15) >> 0x15;
          break;
        case 3:
        case 7:
        case 10:
        case 0xb:
          uVar5 = (int)local_28 >> 0xb;
          break;
        case 4:
        case 8:
          uVar5 = local_28 & 0x7ff;
          break;
        case 5:
          uVar5 = (int)(local_28 + 0x800) >> 0xb;
          break;
        case 6:
          uVar5 = local_28 | 0xfffff800;
          break;
        case 9:
          uVar5 = 0;
          break;
        default:
LAB_00045e86:
                    /* WARNING: Subroutine does not return */
          FUN_0002d780("../../gas/../bfd/libhppa.h",0x176,"hppa_field_adjust",local_28);
        }
      }
      goto LAB_0004542b;
    }
LAB_0004551e:
    if (local_24 + 0x7ffff8 < 0x1000000) {
      iVar3 = FUN_00038fd0(local_28);
      if ((iVar3 != 0) || (iVar3 = FUN_00039040(*(undefined4 *)(param_1 + 0xc)), iVar3 != 0))
      goto LAB_00045555;
      goto LAB_00045a2c;
    }
LAB_00045560:
    uVar6 = *(uint *)(param_1 + 0x28);
    if (((uVar6 == 10) && ((uVar2 & 0xffe00000) == 0xe8000000)) && (0xffffff < local_24 + 0x7ffff8))
    {
      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar5 = local_24 - 8;
      uVar8 = 0x7fffff;
      uVar7 = 0xff800000;
    }
    else {
      if (uVar5 + 0x7ffff8 < 0x1000000) goto LAB_000455d0;
      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x7fffff;
      uVar7 = 0xff800000;
      uVar5 = uVar5 - 8;
    }
LAB_00045c5c:
    FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4,uVar7,uVar8,
                 uVar5);
    uVar6 = *(uint *)(param_1 + 0x28);
  }
  else {
LAB_00045b1b:
    local_28 = *param_2;
    switch(*puVar1) {
    case 0:
      uVar5 = local_28;
      if ((uVar6 == 0xc) || (uVar6 == 0x11)) goto LAB_0004542b;
      goto code_r0x00045b58;
    case 1:
      uVar5 = (int)(local_28 + 0x400) >> 0xb;
      break;
    case 2:
      uVar5 = (int)(local_28 << 0x15) >> 0x15;
      break;
    case 3:
    case 7:
    case 10:
    case 0xb:
      uVar5 = (int)local_28 >> 0xb;
      break;
    case 4:
    case 8:
      uVar5 = local_28 & 0x7ff;
      break;
    case 5:
      uVar5 = (int)(local_28 + 0x800) >> 0xb;
      break;
    case 6:
      uVar5 = local_28 | 0xfffff800;
      break;
    case 9:
      uVar5 = 0;
      break;
    default:
      goto LAB_00045e86;
    }
    if ((uVar6 != 0xc) && (uVar6 != 0x11)) {
code_r0x00045b58:
      if (uVar6 == 0x16) {
LAB_00045b61:
        local_24 = local_28;
        goto LAB_00045560;
      }
    }
LAB_0004542b:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
    switch(uVar6) {
    case 10:
      if (uVar5 + 0x2000 < 0x4000) {
        uVar6 = *(uint *)(param_1 + 0x28);
        break;
      }
code_r0x00045c30:
      uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
      uVar8 = 0x1fff;
      uVar7 = 0xffffe000;
      goto LAB_00045c5c;
    case 0xc:
      uVar2 = uVar5 + 0x1ff8;
      uVar5 = uVar5 - 8;
      if (0x3fff < uVar2) {
        uVar4 = dcgettext(0,"Field out of range [%d..%d] (%d).",5);
        uVar8 = 0x1fff;
        uVar7 = 0xffffe000;
        goto LAB_00045c5c;
      }
      uVar6 = *(uint *)(param_1 + 0x28);
      break;
    case 0xe:
      if (0x3fff < uVar5 + 0x2000) goto code_r0x00045c30;
      uVar6 = *(uint *)(param_1 + 0x28);
      break;
    case 0x10:
      uVar6 = *(uint *)(param_1 + 0x28);
      break;
    case 0x16:
LAB_00045555:
      local_24 = *param_2;
      goto LAB_00045560;
    case 0x20:
      uVar6 = *(uint *)(param_1 + 0x28);
      break;
    case 0xfffffff0:
      uVar6 = *(uint *)(param_1 + 0x28);
      break;
    default:
      uVar4 = dcgettext(0,"Unknown relocation encountered in md_apply_fix.",5);
      FUN_0002d6b0(*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34),uVar4);
      return;
    case 0xfffffff6:
      uVar6 = *(uint *)(param_1 + 0x28);
    }
  }
LAB_000455d0:
  if (uVar6 != 0xa6) {
    if (uVar6 < 0xa7) {
      if ((uVar6 != 0x9e) && ((uVar6 != 0xa2 && (uVar6 != 0x9a)))) goto LAB_00045602;
    }
    else if ((uVar6 < 0xea) || ((0xeb < uVar6 && (1 < uVar6 - 0xed)))) goto LAB_00045602;
  }
  if (*(int *)(param_1 + 0xc) != 0) {
    FUN_0003bae0(*(int *)(param_1 + 0xc));
  }
LAB_00045602:
                    /* WARNING: Could not recover jumptable at 0x00045621. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(code **)(*(int *)(DAT_00083ec4 + 4) + 0x30))();
  return;
}

