
/* WARNING: Unknown calling convention */

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

{
  int *piVar1;
  symbolS *s;
  fragS *pfVar2;
  ushort uVar3;
  char *pcVar4;
  undefined4 uVar5;
  char *pcVar6;
  int iVar7;
  char *pcVar8;
  bfd_reloc_code_real_type bVar9;
  uint uVar10;
  uint uVar11;
  char *format;
  byte bVar12;
  int unaff_EDI;
  bool bVar13;
  uint local_44;
  uint local_40;
  char *sfile;
  uint sline;
  
  __x86_get_pc_thunk_di();
  local_40 = *(uint *)((int)valP + 4);
  local_44 = (uint)*valP;
  pcVar8 = fixP->fx_frag->fr_literal + fixP->fx_where;
  if (fixP->fx_subsy != (symbolS *)0x0) {
    pcVar4 = S_GET_NAME(fixP->fx_subsy);
    uVar5 = bfd_get_reloc_code_name(fixP->fx_r_type);
    pcVar6 = (char *)dcgettext(0,unaff_EDI + 0xdde5,5);
    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar6,uVar5,pcVar4);
  }
  s = fixP->fx_addsy;
  if (s == (symbolS *)0x0) {
    *(byte *)fixP = *(byte *)fixP | 0x20;
LAB_00043514:
    bVar9 = fixP->fx_r_type;
  }
  else {
    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) == (undefined1  [68])0x0
       ) goto LAB_00043514;
    pfVar2 = fixP->fx_frag;
    bVar13 = CARRY4(local_44,(uint)pfVar2->fr_address);
    uVar11 = local_44 + (int)pfVar2->fr_address;
    uVar10 = fixP->fx_where;
    local_44 = uVar10 + uVar11;
    bVar9 = fixP->fx_r_type;
    local_40 = ((int)uVar10 >> 0x1f) +
               local_40 + *(int *)((int)&pfVar2->fr_address + 4) + (uint)bVar13 +
               (uint)CARRY4(uVar10,uVar11);
  }
  if (0x8cd < (int)bVar9) {
    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=
        (undefined1  [68])0x0) {
      s390_insert_operand((uchar *)pcVar8,
                          (s390_operand *)
                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc),
                          CONCAT44(local_40,local_44),fixP->fx_file,fixP->fx_line);
      return;
    }
    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc);
    *(uint *)&fixP->fx_offset = local_44;
    iVar7 = *piVar1;
    *(uint *)((int)&fixP->fx_offset + 4) = local_40;
    if (iVar7 == 0xc) {
      iVar7 = piVar1[1];
      if (iVar7 == 0x14) {
        fixP->fx_size = '\x02';
        fixP->fx_where = fixP->fx_where + 2;
        fixP->fx_r_type = BFD_RELOC_390_12;
        return;
      }
      if (iVar7 == 0x24) {
        fixP->fx_size = '\x02';
        fixP->fx_where = fixP->fx_where + 4;
        fixP->fx_r_type = BFD_RELOC_390_12;
        return;
      }
      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
        fixP->fx_r_type = BFD_RELOC_390_PC12DBL;
        fixP->fx_where = fixP->fx_where + 1;
        *(uint *)&fixP->fx_offset = local_44 + 1;
        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44);
        fixP->fx_pcrel_adjust = '\x01';
        fixP->fx_size = '\x02';
        return;
      }
    }
    else if (iVar7 == 0x14) {
      if (piVar1[1] == 0x14) {
        fixP->fx_size = '\x02';
        fixP->fx_where = fixP->fx_where + 2;
        fixP->fx_r_type = BFD_RELOC_390_20;
        return;
      }
    }
    else if (iVar7 == 8) {
      if (piVar1[1] == 8) {
        fixP->fx_size = '\x01';
        fixP->fx_where = fixP->fx_where + 1;
        fixP->fx_r_type = BFD_RELOC_8;
        return;
      }
    }
    else if (iVar7 == 0x10) {
      if (piVar1[1] == 0x10) {
        fixP->fx_size = '\x02';
        fixP->fx_where = fixP->fx_where + 2;
        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {
          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;
          fixP->fx_pcrel_adjust = '\x02';
          *(uint *)&fixP->fx_offset = local_44 + 2;
          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);
          return;
        }
        fixP->fx_r_type = BFD_RELOC_16;
        return;
      }
      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;
        fixP->fx_where = fixP->fx_where + 4;
        *(uint *)&fixP->fx_offset = local_44 + 4;
        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);
        fixP->fx_pcrel_adjust = '\x04';
        fixP->fx_size = '\x02';
        return;
      }
    }
    else if (iVar7 == 0x18) {
      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;
        fixP->fx_where = fixP->fx_where + 3;
        fixP->fx_pcrel_adjust = '\x03';
        fixP->fx_size = '\x03';
        *(uint *)&fixP->fx_offset = local_44 + 3;
        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);
        return;
      }
    }
    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;
      fixP->fx_where = fixP->fx_where + 2;
      fixP->fx_pcrel_adjust = '\x02';
      fixP->fx_size = '\x04';
      *(uint *)&fixP->fx_offset = local_44 + 2;
      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);
      return;
    }
    iVar7 = expr_symbol_where(s,&sfile,&sline);
    if (iVar7 == 0) {
      iVar7 = unaff_EDI + 0xe109;
    }
    else {
      iVar7 = unaff_EDI + 0xde19;
    }
    pcVar8 = (char *)dcgettext(0,iVar7,5);
    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar8);
    *(byte *)fixP = *(byte *)fixP | 0x20;
    return;
  }
  if (bVar9 < BFD_RELOC_390_GOT64) {
    if (BFD_RELOC_390_PLT24DBL < bVar9) goto LAB_00043748;
    if (bVar9 != BFD_RELOC_32_BASEREL) {
      if (BFD_RELOC_32_BASEREL < bVar9) {
        if (bVar9 < BFD_RELOC_390_PC16DBL) {
          if (bVar9 < BFD_RELOC_390_PC12DBL) {
            if (BFD_RELOC_390_GOT12 < bVar9) {
              if (bVar9 != BFD_RELOC_390_PLT32) {
                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;
                goto LAB_0004387f;
              }
              goto LAB_000437c8;
            }
            if (bVar9 < BFD_RELOC_390_12) {
              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;
              goto LAB_00043899;
            }
          }
LAB_00043d00:
          bVar12 = *(byte *)fixP & 0x20;
          if ((*(byte *)fixP & 1) == 0) {
            if (bVar12 == 0) goto LAB_0004367e;
          }
          else {
            uVar10 = (uint)fixP->fx_pcrel_adjust;
            bVar13 = CARRY4(local_44,uVar10);
            local_44 = local_44 + uVar10;
            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;
            if (bVar12 == 0) goto LAB_0004367e;
            local_44 = local_44 >> 1 | local_40 * -0x80000000;
            local_40 = local_40 >> 1;
          }
          uVar3 = bfd_getb16(pcVar8);
          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);
          goto LAB_0004367e;
        }
        if (BFD_RELOC_390_PLT16DBL < bVar9) {
          uVar10 = (uint)fixP->fx_pcrel_adjust;
          bVar13 = CARRY4(local_44,uVar10);
          local_44 = local_44 + uVar10;
          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;
          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=
              (undefined1  [68])0x0) {
            uVar10 = local_44 >> 1;
            local_44 = uVar10 | local_40 * -0x80000000;
            local_40 = local_40 >> 1;
            uVar11 = bfd_getb32(pcVar8 + -1);
            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);
          }
          goto LAB_0004367e;
        }
        uVar10 = (uint)fixP->fx_pcrel_adjust;
        bVar13 = CARRY4(local_44,uVar10);
        local_44 = local_44 + uVar10;
        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;
        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==
            (undefined1  [68])0x0) goto LAB_0004367e;
        iVar7 = 2;
LAB_00043760:
        number_to_chars_bigendian
                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);
        goto LAB_0004367e;
      }
      if (bVar9 == BFD_RELOC_64_PCREL) goto LAB_0004371b;
      if (BFD_RELOC_64_PCREL < bVar9) {
        if (bVar9 == BFD_RELOC_16_GOT_PCREL) {
LAB_00043899:
          bVar12 = *(byte *)fixP;
          if ((bVar12 & 1) != 0) {
            if (s == (symbolS *)0x0) {
              pcVar4 = (char *)(unaff_EDI + 0x967e);
              pcVar6 = pcVar4;
            }
            else {
              pcVar6 = S_GET_NAME(s);
              bVar9 = fixP->fx_r_type;
              if (fixP->fx_addsy == (symbolS *)0x0) {
                pcVar4 = (char *)(unaff_EDI + 0x967e);
              }
              else {
                pcVar4 = (char *)(unaff_EDI + 0xe0ff);
              }
            }
            uVar5 = bfd_get_reloc_code_name(bVar9);
            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);
            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);
            bVar12 = *(byte *)fixP;
          }
          goto joined_r0x00043882;
        }
        if (bVar9 < BFD_RELOC_8_GOT_PCREL) {
          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;
          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;
        }
        else if (bVar9 != BFD_RELOC_32_GOTOFF) {
          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;
          goto LAB_00043899;
        }
LAB_000437c8:
        bVar12 = *(byte *)fixP;
        goto joined_r0x000437cb;
      }
      if (bVar9 == BFD_RELOC_32) {
        bVar12 = *(byte *)fixP;
        bVar9 = BFD_RELOC_32;
        if ((bVar12 & 1) != 0) {
          bVar9 = BFD_RELOC_32_PCREL;
        }
        fixP->fx_r_type = bVar9;
        goto joined_r0x000437cb;
      }
      if (BFD_RELOC_32 < bVar9) {
        if (bVar9 == BFD_RELOC_16) goto LAB_00043899;
        if (bVar9 != BFD_RELOC_8) goto LAB_00043958;
        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=
            (undefined1  [68])0x0) {
                    /* WARNING: Subroutine does not return */
          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));
        }
        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==
            (undefined1  [68])0x0) goto LAB_0004367e;
        iVar7 = 1;
        goto LAB_00043668;
      }
      if (bVar9 != BFD_RELOC_64) {
LAB_00043958:
        iVar7 = bfd_get_reloc_code_name(bVar9);
        if (iVar7 != 0) {
          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);
                    /* WARNING: Subroutine does not return */
          as_fatal(pcVar8,iVar7);
        }
        bVar9 = fixP->fx_r_type;
        pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5);
                    /* WARNING: Subroutine does not return */
        as_fatal(pcVar8,bVar9);
      }
      bVar12 = *(byte *)fixP;
      bVar9 = BFD_RELOC_64;
      if ((bVar12 & 1) != 0) {
        bVar9 = BFD_RELOC_64_PCREL;
      }
      fixP->fx_r_type = bVar9;
      goto joined_r0x0004371e;
    }
LAB_00043995:
    fixP->fx_r_type = BFD_RELOC_32_PCREL;
    bVar12 = *(byte *)fixP;
joined_r0x000437cb:
    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;
    iVar7 = 4;
  }
  else {
    if (bVar9 == BFD_RELOC_390_PLTOFF32) goto LAB_000437c8;
    if (BFD_RELOC_390_PLTOFF32 < bVar9) {
      if (bVar9 < BFD_RELOC_390_20) {
        if (bVar9 < BFD_RELOC_390_TLS_LE32) {
          if (BFD_RELOC_390_TLS_IE64 < bVar9) {
            S_SET_THREAD_LOCAL(s);
            bVar13 = 0xfffffffd < local_44;
            local_44 = local_44 + 2;
            local_40 = local_40 + bVar13;
            goto LAB_0004367e;
          }
          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;
        }
      }
      else if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {
        if (BFD_RELOC_390_GOTPLT20 < bVar9) {
          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {
            *(byte *)fixP = *(byte *)fixP & 0xdf;
            return;
          }
          goto LAB_00043958;
        }
        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=
            (undefined1  [68])0x0) {
          uVar10 = bfd_getb32(pcVar8);
          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);
        }
        goto LAB_0004367e;
      }
      S_SET_THREAD_LOCAL(s);
      goto LAB_0004367e;
    }
    if (bVar9 == BFD_RELOC_390_GOTPLT12) goto LAB_00043d00;
    if (bVar9 < BFD_RELOC_390_GOTPLT16) {
      if (bVar9 == BFD_RELOC_390_GOTENT) {
LAB_00043748:
        uVar10 = (uint)fixP->fx_pcrel_adjust;
        bVar13 = CARRY4(local_44,uVar10);
        local_44 = local_44 + uVar10;
        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;
        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==
            (undefined1  [68])0x0) goto LAB_0004367e;
        iVar7 = 4;
        goto LAB_00043760;
      }
    }
    else if (bVar9 != BFD_RELOC_390_GOTPLT64) {
      if (bVar9 < BFD_RELOC_390_GOTPLTENT) {
        if (bVar9 != BFD_RELOC_390_GOTPLT16) {
          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;
          goto LAB_000437c8;
        }
      }
      else {
        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;
        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;
      }
LAB_0004387f:
      bVar12 = *(byte *)fixP;
joined_r0x00043882:
      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;
      iVar7 = 2;
      goto LAB_00043668;
    }
LAB_0004371b:
    bVar12 = *(byte *)fixP;
joined_r0x0004371e:
    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;
    iVar7 = 8;
  }
LAB_00043668:
  number_to_chars_bigendian(pcVar8,CONCAT44(local_40,local_44),iVar7);
LAB_0004367e:
  *(uint *)&fixP->fx_offset = local_44;
  *(uint *)((int)&fixP->fx_offset + 4) = local_40;
  return;
}



void FUN_00043480(byte *param_1,uint *param_2)

{
  int *piVar1;
  uint *puVar2;
  ushort uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  int iVar7;
  uint uVar8;
  uint uVar9;
  int iVar10;
  byte bVar11;
  uint uVar12;
  int iVar13;
  int unaff_EBX;
  int unaff_EDI;
  bool bVar14;
  uint local_44;
  uint local_40;
  undefined1 local_24 [4];
  undefined1 local_20 [16];
  
  FUN_0001c549();
  local_40 = param_2[1];
  local_44 = *param_2;
  iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);
  if (*(int *)(param_1 + 0x10) != 0) {
    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));
    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));
    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);
    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);
    unaff_EBX = unaff_EDI + 0x24b79;
  }
  iVar13 = *(int *)(param_1 + 0xc);
  if (iVar13 == 0) {
    *param_1 = *param_1 | 0x20;
LAB_00043514:
    uVar8 = *(uint *)(param_1 + 0x30);
  }
  else {
    if ((*param_1 & 1) == 0) goto LAB_00043514;
    puVar2 = *(uint **)(param_1 + 4);
    uVar12 = local_44 + *puVar2;
    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);
    uVar9 = *(uint *)(param_1 + 8);
    local_44 = uVar9 + uVar12;
    uVar8 = *(uint *)(param_1 + 0x30);
    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);
  }
  if (0x8cd < (int)uVar8) {
    if ((*param_1 & 0x20) != 0) {
      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)
                  );
      return;
    }
    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);
    *(uint *)(param_1 + 0x14) = local_44;
    iVar7 = *piVar1;
    *(uint *)(param_1 + 0x18) = local_40;
    if (iVar7 == 0xc) {
      iVar7 = piVar1[1];
      if (iVar7 == 0x14) {
        param_1[2] = 2;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;
        param_1[0x30] = 0x51;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        return;
      }
      if (iVar7 == 0x24) {
        param_1[2] = 2;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;
        param_1[0x30] = 0x51;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        return;
      }
      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
        param_1[0x30] = 0x5a;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;
        *(uint *)(param_1 + 0x14) = local_44 + 1;
        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);
        param_1[1] = 1;
        param_1[2] = 2;
        return;
      }
    }
    else if (iVar7 == 0x14) {
      if (piVar1[1] == 0x14) {
        param_1[2] = 2;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;
        param_1[0x30] = 0x83;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        return;
      }
    }
    else if (iVar7 == 8) {
      if (piVar1[1] == 8) {
        param_1[2] = 1;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;
        param_1[0x30] = 7;
        param_1[0x31] = 0;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        return;
      }
    }
    else if (iVar7 == 0x10) {
      if (piVar1[1] == 0x10) {
        param_1[2] = 2;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;
        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {
          param_1[0x30] = 0x5c;
          param_1[0x31] = 5;
          param_1[0x32] = 0;
          param_1[0x33] = 0;
          param_1[1] = 2;
          *(uint *)(param_1 + 0x14) = local_44 + 2;
          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);
          return;
        }
        param_1[0x30] = 5;
        param_1[0x31] = 0;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        return;
      }
      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
        param_1[0x30] = 0x5c;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;
        *(uint *)(param_1 + 0x14) = local_44 + 4;
        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);
        param_1[1] = 4;
        param_1[2] = 2;
        return;
      }
    }
    else if (iVar7 == 0x18) {
      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
        param_1[0x30] = 0x5e;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;
        param_1[1] = 3;
        param_1[2] = 3;
        *(uint *)(param_1 + 0x14) = local_44 + 3;
        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);
        return;
      }
    }
    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
      param_1[0x30] = 0x60;
      param_1[0x31] = 5;
      param_1[0x32] = 0;
      param_1[0x33] = 0;
      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;
      param_1[1] = 2;
      param_1[2] = 4;
      *(uint *)(param_1 + 0x14) = local_44 + 2;
      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);
      return;
    }
    iVar7 = FUN_00020430(iVar13,local_24,local_20);
    if (iVar7 == 0) {
      iVar7 = unaff_EDI + 0xe109;
    }
    else {
      iVar7 = unaff_EDI + 0xde19;
    }
    uVar4 = dcgettext(0,iVar7,5);
    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);
    *param_1 = *param_1 | 0x20;
    return;
  }
  if (uVar8 < 0x563) {
    if (0x55f < uVar8) goto LAB_00043748;
    if (uVar8 != 0x38) {
      if (0x38 < uVar8) {
        if (uVar8 < 0x55c) {
          if (uVar8 < 0x55a) {
            if (0x552 < uVar8) {
              if (uVar8 != 0x553) {
                if (uVar8 != 0x559) goto LAB_00043958;
                goto LAB_0004387f;
              }
              goto LAB_000437c8;
            }
            if (uVar8 < 0x551) {
              if (uVar8 != 0x45) goto LAB_00043958;
              goto LAB_00043899;
            }
          }
LAB_00043d00:
          bVar11 = *param_1 & 0x20;
          if ((*param_1 & 1) == 0) {
            if (bVar11 == 0) goto LAB_0004367e;
          }
          else {
            uVar8 = (uint)(char)param_1[1];
            bVar14 = CARRY4(local_44,uVar8);
            local_44 = local_44 + uVar8;
            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;
            if (bVar11 == 0) goto LAB_0004367e;
            local_44 = local_44 >> 1 | local_40 * -0x80000000;
            local_40 = local_40 >> 1;
          }
          uVar3 = bfd_getb16(iVar7);
          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);
          goto LAB_0004367e;
        }
        if (0x55d < uVar8) {
          uVar8 = (uint)(char)param_1[1];
          bVar14 = CARRY4(local_44,uVar8);
          local_44 = local_44 + uVar8;
          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;
          if ((*param_1 & 0x20) != 0) {
            uVar8 = local_44 >> 1;
            local_44 = uVar8 | local_40 * -0x80000000;
            local_40 = local_40 >> 1;
            uVar9 = bfd_getb32(iVar7 + -1);
            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);
          }
          goto LAB_0004367e;
        }
        uVar8 = (uint)(char)param_1[1];
        bVar14 = CARRY4(local_44,uVar8);
        local_44 = local_44 + uVar8;
        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;
        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;
        uVar4 = 2;
LAB_00043760:
        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);
        goto LAB_0004367e;
      }
      if (uVar8 == 8) goto LAB_0004371b;
      if (8 < uVar8) {
        if (uVar8 == 0x10) {
LAB_00043899:
          bVar11 = *param_1;
          if ((bVar11 & 1) != 0) {
            if (iVar13 == 0) {
              iVar13 = unaff_EDI + 0x967e;
              iVar10 = iVar13;
            }
            else {
              iVar10 = FUN_00037470(iVar13);
              uVar8 = *(uint *)(param_1 + 0x30);
              if (*(int *)(param_1 + 0xc) == 0) {
                iVar13 = unaff_EDI + 0x967e;
              }
              else {
                iVar13 = unaff_EDI + 0xe0ff;
              }
            }
            uVar4 = bfd_get_reloc_code_name(uVar8);
            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);
            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4
                         ,iVar13,iVar10);
            bVar11 = *param_1;
          }
          goto joined_r0x00043882;
        }
        if (uVar8 < 0x11) {
          if (uVar8 == 9) goto LAB_00043995;
          if (uVar8 != 0xf) goto LAB_00043958;
        }
        else if (uVar8 != 0x12) {
          if (uVar8 != 0x13) goto LAB_00043958;
          goto LAB_00043899;
        }
LAB_000437c8:
        bVar11 = *param_1;
        goto joined_r0x000437cb;
      }
      if (uVar8 == 2) {
        bVar11 = *param_1;
        uVar4 = 2;
        if ((bVar11 & 1) != 0) {
          uVar4 = 9;
        }
        *(undefined4 *)(param_1 + 0x30) = uVar4;
        goto joined_r0x000437cb;
      }
      if (2 < uVar8) {
        if (uVar8 == 5) goto LAB_00043899;
        if (uVar8 != 7) goto LAB_00043958;
        if ((*param_1 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);
        }
        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;
        uVar4 = 1;
        goto LAB_00043668;
      }
      if (uVar8 != 1) {
LAB_00043958:
        iVar7 = bfd_get_reloc_code_name(uVar8);
        if (iVar7 != 0) {
          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);
                    /* WARNING: Subroutine does not return */
          FUN_0002acf0(uVar4,iVar7);
        }
        uVar4 = *(undefined4 *)(param_1 + 0x30);
        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);
                    /* WARNING: Subroutine does not return */
        FUN_0002acf0(uVar5,uVar4);
      }
      bVar11 = *param_1;
      uVar4 = 1;
      if ((bVar11 & 1) != 0) {
        uVar4 = 8;
      }
      *(undefined4 *)(param_1 + 0x30) = uVar4;
      goto joined_r0x0004371e;
    }
LAB_00043995:
    param_1[0x30] = 9;
    param_1[0x31] = 0;
    param_1[0x32] = 0;
    param_1[0x33] = 0;
    bVar11 = *param_1;
joined_r0x000437cb:
    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;
    uVar4 = 4;
  }
  else {
    if (uVar8 == 0x56d) goto LAB_000437c8;
    if (0x56d < uVar8) {
      if (uVar8 < 0x583) {
        if (uVar8 < 0x57c) {
          if (0x57a < uVar8) {
            FUN_00039ca0(iVar13);
            bVar14 = 0xfffffffd < local_44;
            local_44 = local_44 + 2;
            local_40 = local_40 + bVar14;
            goto LAB_0004367e;
          }
          if (uVar8 < 0x56f) goto LAB_0004371b;
        }
      }
      else if (uVar8 != 0x586) {
        if (0x585 < uVar8) {
          if (uVar8 - 0x5a3 < 2) {
            *param_1 = *param_1 & 0xdf;
            return;
          }
          goto LAB_00043958;
        }
        if ((*param_1 & 0x20) != 0) {
          uVar8 = bfd_getb32(iVar7);
          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);
        }
        goto LAB_0004367e;
      }
      FUN_00039ca0(iVar13);
      goto LAB_0004367e;
    }
    if (uVar8 == 0x567) goto LAB_00043d00;
    if (uVar8 < 0x568) {
      if (uVar8 == 0x565) {
LAB_00043748:
        uVar8 = (uint)(char)param_1[1];
        bVar14 = CARRY4(local_44,uVar8);
        local_44 = local_44 + uVar8;
        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;
        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;
        uVar4 = 4;
        goto LAB_00043760;
      }
    }
    else if (uVar8 != 0x56a) {
      if (uVar8 < 0x56b) {
        if (uVar8 != 0x568) {
          if (uVar8 != 0x569) goto LAB_00043958;
          goto LAB_000437c8;
        }
      }
      else {
        if (uVar8 == 0x56b) goto LAB_00043748;
        if (uVar8 != 0x56c) goto LAB_00043958;
      }
LAB_0004387f:
      bVar11 = *param_1;
joined_r0x00043882:
      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;
      uVar4 = 2;
      goto LAB_00043668;
    }
LAB_0004371b:
    bVar11 = *param_1;
joined_r0x0004371e:
    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;
    uVar4 = 8;
  }
LAB_00043668:
  FUN_0003fb00(iVar7,local_44,local_40,uVar4);
LAB_0004367e:
  *(uint *)(param_1 + 0x14) = local_44;
  *(uint *)(param_1 + 0x18) = local_40;
  return;
}


PUSH EBP
PUSH EDI
CALL 0x0001c549
ADD EDI,0x24b79
PUSH ESI
PUSH EBX
SUB ESP,0x3c
MOV EAX,dword ptr [ESP + 0x54]
MOV ESI,dword ptr [ESP + 0x50]
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0xc],EDX
MOV EDX,dword ptr [ESI + 0x4]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESI + 0x8]
LEA EAX,[EDX + EAX*0x1 + 0x4c]
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESI + 0x10]
TEST EAX,EAX
JZ 0x00043500
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x00037470
MOV dword ptr [ESP + 0x28],EAX
POP ECX
PUSH dword ptr [ESI + 0x30]
CALL 0x00013040
ADD ESP,0xc
MOV EBP,EAX
LEA EAX,[EDI + 0xfffe926c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131b0
MOV EDX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP],EDX
PUSH EBP
PUSH EAX
PUSH dword ptr [ESI + 0x40]
PUSH dword ptr [ESI + 0x3c]
CALL 0x0002aca0
ADD ESP,0x20
MOV EBP,dword ptr [ESI + 0xc]
TEST EBP,EBP
JZ 0x00043a00
TEST byte ptr [ESI],0x1
JNZ 0x000435d0
MOV EAX,dword ptr [ESI + 0x30]
CMP EAX,0x8cd
JLE 0x000435fe
SUB EAX,0x8ce
TEST byte ptr [ESI],0x20
JNZ 0x00043a30
MOV EDX,dword ptr [EDI + 0xffffff90]
LEA EAX,[EAX + EAX*0x2]
MOV ECX,dword ptr [ESP + 0x8]
MOV EBX,dword ptr [ESP + 0xc]
LEA EAX,[EDX + EAX*0x4]
MOV dword ptr [ESI + 0x14],ECX
MOV EDX,dword ptr [EAX]
MOV dword ptr [ESI + 0x18],EBX
CMP EDX,0xc
JZ 0x00043ab8
CMP EDX,0x14
JZ 0x00043a10
CMP EDX,0x8
JNZ 0x00043a60
CMP dword ptr [EAX + 0x4],0x8
JZ 0x00043bf8
LEA ESI,[ESI]
SUB ESP,0x4
MOV EBX,EDI
LEA EAX,[ESP + 0x30]
PUSH EAX
LEA EAX,[ESP + 0x30]
PUSH EAX
PUSH EBP
CALL 0x00020430
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00043bb0
SUB ESP,0x4
LEA EAX,[EDI + 0xfffe92a0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131b0
ADD ESP,0xc
PUSH EAX
PUSH dword ptr [ESI + 0x40]
PUSH dword ptr [ESI + 0x3c]
CALL 0x0002aca0
OR byte ptr [ESI],0x20
ADD ESP,0x10
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESI + 0x4]
MOV ECX,dword ptr [ESP + 0x8]
MOV EBX,dword ptr [ESP + 0xc]
ADD ECX,dword ptr [EAX]
ADC EBX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [ESI + 0x8]
CDQ
ADD EAX,ECX
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESI + 0x30]
ADC EDX,EBX
MOV dword ptr [ESP + 0xc],EDX
CMP EAX,0x8cd
JG 0x00043522
CMP EAX,0x562
JA 0x00043698
CMP EAX,0x560
JNC 0x00043748
CMP EAX,0x38
JZ 0x00043995
JA 0x000437e0
CMP EAX,0x8
JZ 0x0004371b
JA 0x000437b0
CMP EAX,0x2
JZ 0x00043ce0
JBE 0x00043788
CMP EAX,0x5
JZ 0x00043899
CMP EAX,0x7
JNZ 0x00043958
MOVZX EAX,byte ptr [ESI]
TEST AL,0x1
JNZ 0x00043db5
TEST AL,0x20
JZ 0x0004367e
PUSH 0x1
LEA ESI,[ESI]
PUSH dword ptr [ESP + 0x10]
MOV EBX,EDI
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [ESP + 0x20]
CALL 0x0003fb00
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
MOV dword ptr [ESI + 0x14],EAX
MOV dword ptr [ESI + 0x18],EDX
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP EAX,0x56d
JZ 0x000437c8
JBE 0x00043730
CMP EAX,0x582
JBE 0x000436e0
CMP EAX,0x586
JZ 0x00043c50
JC 0x00043c88
LEA EDX,[EAX + 0xfffffa5d]
CMP EDX,0x1
JA 0x00043958
AND byte ptr [ESI],0xdf
JMP 0x000435c0
CMP EAX,0x57c
JNC 0x00043c50
CMP EAX,0x57a
JBE 0x00043710
SUB ESP,0xc
MOV EBX,EDI
PUSH EBP
CALL 0x00039ca0
ADD dword ptr [ESP + 0x18],0x2
ADC dword ptr [ESP + 0x1c],0x0
ADD ESP,0x10
JMP 0x0004367e
CMP EAX,0x56f
JNC 0x00043c50
TEST byte ptr [ESI],0x20
JZ 0x0004367e
PUSH 0x8
JMP 0x00043668
CMP EAX,0x567
JZ 0x00043d00
JA 0x00043858
CMP EAX,0x565
JNZ 0x0004371b
MOVSX EAX,byte ptr [ESI + 0x1]
CDQ
ADD dword ptr [ESP + 0x8],EAX
ADC dword ptr [ESP + 0xc],EDX
TEST byte ptr [ESI],0x20
JZ 0x0004367e
PUSH 0x4
MOV EDX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0xc]
MOV EBX,EDI
SHRD EAX,EDX,0x1
SAR EDX,0x1
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x20]
CALL 0x0003fb00
ADD ESP,0x10
JMP 0x0004367e
CMP EAX,0x1
JNZ 0x00043958
MOVZX EDX,byte ptr [ESI]
MOV ECX,0x8
TEST DL,0x1
CMOVNZ EAX,ECX
AND EDX,0x20
MOV dword ptr [ESI + 0x30],EAX
JZ 0x0004367e
JMP 0x00043724
CMP EAX,0x10
JZ 0x00043899
JBE 0x00043990
CMP EAX,0x12
JNZ 0x00043890
TEST byte ptr [ESI],0x20
JZ 0x0004367e
PUSH 0x4
JMP 0x00043668
CMP EAX,0x55b
JBE 0x00043928
CMP EAX,0x55d
JBE 0x00043c68
MOVSX EAX,byte ptr [ESI + 0x1]
CDQ
ADD dword ptr [ESP + 0x8],EAX
ADC dword ptr [ESP + 0xc],EDX
TEST byte ptr [ESI],0x20
JZ 0x0004367e
MOV EDX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [ESP + 0x8]
SUB ESP,0xc
MOV EBX,EDI
MOV EBP,dword ptr [ESP + 0x20]
SHRD EAX,EDX,0x1
SHR EDX,0x1
MOV dword ptr [ESP + 0x14],EAX
SUB EBP,0x1
MOV dword ptr [ESP + 0x18],EDX
PUSH EBP
CALL 0x00013680
ADD ESP,0xc
PUSH EBP
MOV EDX,dword ptr [ESP + 0x10]
AND EDX,0xffffff
OR EAX,EDX
XOR EDX,EDX
PUSH EDX
PUSH EAX
CALL 0x000135d0
ADD ESP,0x10
JMP 0x0004367e
CMP EAX,0x56a
JZ 0x0004371b
JBE 0x000439b0
CMP EAX,0x56b
JZ 0x00043748
CMP EAX,0x56c
JNZ 0x00043958
TEST byte ptr [ESI],0x20
JZ 0x0004367e
PUSH 0x2
JMP 0x00043668
CMP EAX,0x13
JNZ 0x00043958
MOVZX EDX,byte ptr [ESI]
TEST DL,0x1
JZ 0x00043914
TEST EBP,EBP
JZ 0x00043da8
SUB ESP,0xc
MOV EBX,EDI
PUSH EBP
CALL 0x00037470
MOV EBX,dword ptr [ESI + 0xc]
ADD ESP,0x10
MOV EDX,EAX
MOV EAX,dword ptr [ESI + 0x30]
TEST EBX,EBX
JZ 0x00043dd0
LEA ECX,[EDI + 0xfffe9586]
MOV dword ptr [ESP + 0x1c],EDX
SUB ESP,0xc
MOV EBX,EDI
MOV dword ptr [ESP + 0x24],ECX
PUSH EAX
CALL 0x00013040
ADD ESP,0xc
MOV EBP,EAX
LEA EAX,[EDI + 0xfffe92cc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131b0
POP EDX
POP ECX
MOV EDX,dword ptr [ESP + 0x24]
PUSH EDX
MOV ECX,dword ptr [ESP + 0x24]
PUSH ECX
PUSH EBP
PUSH EAX
PUSH dword ptr [ESI + 0x40]
PUSH dword ptr [ESI + 0x3c]
CALL 0x0002aca0
MOVZX EDX,byte ptr [ESI]
ADD ESP,0x20
AND EDX,0x20
JZ 0x0004367e
JMP 0x00043888
CMP EAX,0x55a
JNC 0x00043d00
CMP EAX,0x552
JA 0x000439d0
CMP EAX,0x551
JNC 0x00043d00
CMP EAX,0x45
JZ 0x00043899
LEA ESI,[ESI]
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x00013040
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x00043d89
SUB ESP,0x4
LEA EAX,[EDI + 0xfffe95ac]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131b0
POP ESI
POP EDI
PUSH EBP
PUSH EAX
CALL 0x0002acf0
CMP EAX,0x9
JNZ 0x000439f0
MOV dword ptr [ESI + 0x30],0x9
TEST byte ptr [ESI],0x20
JZ 0x0004367e
JMP 0x000437d1
CMP EAX,0x568
JZ 0x0004387f
CMP EAX,0x569
JZ 0x000437c8
JMP 0x00043958
CMP EAX,0x553
JZ 0x000437c8
CMP EAX,0x559
JZ 0x0004387f
JMP 0x00043958
CMP EAX,0xf
JZ 0x000437c8
JMP 0x00043958
OR byte ptr [ESI],0x20
JMP 0x00043514
CMP dword ptr [EAX + 0x4],0x14
JNZ 0x00043578
MOV byte ptr [ESI + 0x2],0x2
ADD dword ptr [ESI + 0x8],0x2
MOV dword ptr [ESI + 0x30],0x583
JMP 0x000435c0
LEA EDX,[EAX + EAX*0x2]
MOV EAX,dword ptr [EDI + 0xffffff90]
PUSH dword ptr [ESI + 0x40]
PUSH dword ptr [ESI + 0x3c]
PUSH dword ptr [ESP + 0x14]
LEA EDX,[EAX + EDX*0x4]
PUSH dword ptr [ESP + 0x14]
MOV EAX,dword ptr [ESP + 0x24]
CALL 0x00040960
ADD ESP,0x10
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP EDX,0x10
JNZ 0x00043b10
MOV EDX,dword ptr [EAX + 0x4]
CMP EDX,0x10
JZ 0x00043c10
CMP EDX,0x20
JNZ 0x00043578
TEST byte ptr [EAX + 0x8],0x80
JZ 0x00043578
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
MOV dword ptr [ESI + 0x30],0x55c
ADD dword ptr [ESI + 0x8],0x4
ADD EAX,0x4
ADC EDX,0x0
MOV dword ptr [ESI + 0x14],EAX
MOV EAX,0x204
MOV dword ptr [ESI + 0x18],EDX
MOV word ptr [ESI + 0x1],AX
JMP 0x000435c0
MOV EDX,dword ptr [EAX + 0x4]
CMP EDX,0x14
JZ 0x00043bc8
CMP EDX,0x24
JZ 0x00043be0
CMP EDX,0xc
JNZ 0x00043578
TEST byte ptr [EAX + 0x8],0x80
JZ 0x00043578
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
MOV dword ptr [ESI + 0x30],0x55a
ADD dword ptr [ESI + 0x8],0x1
ADD EAX,0x1
ADC EDX,0x0
MOV dword ptr [ESI + 0x14],EAX
MOV EAX,0x201
MOV dword ptr [ESI + 0x18],EDX
MOV word ptr [ESI + 0x1],AX
JMP 0x000435c0
CMP EDX,0x18
JNZ 0x00043b60
CMP dword ptr [EAX + 0x4],0x18
JNZ 0x00043578
TEST byte ptr [EAX + 0x8],0x80
JZ 0x00043578
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
MOV EBP,0x303
MOV dword ptr [ESI + 0x30],0x55e
ADD dword ptr [ESI + 0x8],0x3
ADD EAX,0x3
MOV word ptr [ESI + 0x1],BP
ADC EDX,0x0
MOV dword ptr [ESI + 0x14],EAX
MOV dword ptr [ESI + 0x18],EDX
JMP 0x000435c0
CMP EDX,0x20
JNZ 0x00043578
CMP dword ptr [EAX + 0x4],0x10
JNZ 0x00043578
TEST byte ptr [EAX + 0x8],0x80
JZ 0x00043578
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
MOV EDI,0x402
MOV dword ptr [ESI + 0x30],0x560
ADD dword ptr [ESI + 0x8],0x2
ADD EAX,0x2
MOV word ptr [ESI + 0x1],DI
ADC EDX,0x0
MOV dword ptr [ESI + 0x14],EAX
MOV dword ptr [ESI + 0x18],EDX
JMP 0x000435c0
SUB ESP,0x4
LEA EAX,[EDI + 0xfffe9590]
PUSH 0x5
PUSH EAX
PUSH 0x0
JMP 0x000435a6
MOV byte ptr [ESI + 0x2],0x2
ADD dword ptr [ESI + 0x8],0x2
MOV dword ptr [ESI + 0x30],0x551
JMP 0x000435c0
MOV byte ptr [ESI + 0x2],0x2
ADD dword ptr [ESI + 0x8],0x4
MOV dword ptr [ESI + 0x30],0x551
JMP 0x000435c0
MOV byte ptr [ESI + 0x2],0x1
ADD dword ptr [ESI + 0x8],0x1
MOV dword ptr [ESI + 0x30],0x7
JMP 0x000435c0
MOV byte ptr [ESI + 0x2],0x2
ADD dword ptr [ESI + 0x8],0x2
TEST byte ptr [EAX + 0x8],0x80
JZ 0x00043d70
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
MOV dword ptr [ESI + 0x30],0x55c
MOV byte ptr [ESI + 0x1],0x2
ADD EAX,0x2
ADC EDX,0x0
MOV dword ptr [ESI + 0x14],EAX
MOV dword ptr [ESI + 0x18],EDX
JMP 0x000435c0
SUB ESP,0xc
MOV EBX,EDI
PUSH EBP
CALL 0x00039ca0
ADD ESP,0x10
JMP 0x0004367e
MOVSX EAX,byte ptr [ESI + 0x1]
CDQ
ADD dword ptr [ESP + 0x8],EAX
ADC dword ptr [ESP + 0xc],EDX
TEST byte ptr [ESI],0x20
JZ 0x0004367e
PUSH 0x2
JMP 0x00043760
TEST byte ptr [ESI],0x20
JZ 0x0004367e
SUB ESP,0xc
MOV EBX,EDI
MOV EBP,dword ptr [ESP + 0x20]
PUSH EBP
CALL 0x00013680
ADD ESP,0xc
PUSH EBP
MOV ECX,EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x14]
MOV EBX,EAX
SHL EBX,0x8
SHRD EAX,EDX,0xc
XOR EDX,EDX
AND EBX,0xfff00
MOVZX EAX,AL
PUSH EDX
OR EAX,EBX
MOV EBX,EDI
OR EAX,ECX
PUSH EAX
CALL 0x000135d0
ADD ESP,0x10
JMP 0x0004367e
MOVZX EDX,byte ptr [ESI]
MOV ECX,0x9
TEST DL,0x1
CMOVNZ EAX,ECX
AND EDX,0x20
MOV dword ptr [ESI + 0x30],EAX
JZ 0x0004367e
JMP 0x000437d1
MOVZX EAX,byte ptr [ESI]
MOV ECX,EAX
AND ECX,0x20
TEST AL,0x1
JZ 0x00043d80
MOVSX EAX,byte ptr [ESI + 0x1]
CDQ
ADD dword ptr [ESP + 0x8],EAX
ADC dword ptr [ESP + 0xc],EDX
TEST CL,CL
JZ 0x0004367e
MOV EDX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [ESP + 0x8]
SHRD EAX,EDX,0x1
SHR EDX,0x1
MOV dword ptr [ESP + 0x8],EAX
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0xc
MOV EBX,EDI
MOV EBP,dword ptr [ESP + 0x20]
PUSH EBP
CALL 0x00013480
ADD ESP,0xc
PUSH EBP
MOVZX EDX,word ptr [ESP + 0x10]
AND DX,0xfff
OR EDX,EAX
MOVZX EAX,DX
XOR EDX,EDX
PUSH EDX
PUSH EAX
CALL 0x000133e0
ADD ESP,0x10
JMP 0x0004367e
MOV dword ptr [ESI + 0x30],0x5
JMP 0x000435c0
TEST CL,CL
JNZ 0x00043d37
JMP 0x0004367e
SUB ESP,0x4
LEA EAX,[EDI + 0xfffe95c8]
MOV ESI,dword ptr [ESI + 0x30]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131b0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x0002acf0
LEA EDX,[EDI + 0xfffe4b05]
MOV ECX,EDX
JMP 0x000438cd
LEA EAX,[EDI + 0xfffe9838]
PUSH EBX
MOV EBX,EDI
PUSH EAX
LEA EAX,[EDI + 0xfffe931c]
PUSH 0x94b
PUSH EAX
CALL 0x0002ad70
LEA ECX,[EDI + 0xfffe4b05]
JMP 0x000438cd
(translation_unit "void FUN_00043480(byte *param_1,uint *param_2)\n\n{\n  int *piVar1;\n  uint *puVar2;\n  ushort uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  byte bVar11;\n  uint uVar12;\n  int iVar13;\n  int unaff_EBX;\n  int unaff_EDI;\n  bool bVar14;\n  uint local_44;\n  uint local_40;\n  undefined1 local_24 [4];\n  undefined1 local_20 [16];\n  \n  FUN_0001c549();\n  local_40 = param_2[1];\n  local_44 = *param_2;\n  iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if (*(int *)(param_1 + 0x10) != 0) {\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }\n  iVar13 = *(int *)(param_1 + 0xc);\n  if (iVar13 == 0) {\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\n  }\n  else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }\n  if (0x8cd < (int)uVar8) {\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }\n  if (uVar8 < 0x563) {\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }\n  else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }\nLAB_00043668:\n  FUN_0003fb00(iVar7,local_44,local_40,uVar4);\nLAB_0004367e:\n  *(uint *)(param_1 + 0x14) = local_44;\n  *(uint *)(param_1 + 0x18) = local_40;\n  return;\n}\n\n" (function_definition "void FUN_00043480(byte *param_1,uint *param_2)\n\n{\n  int *piVar1;\n  uint *puVar2;\n  ushort uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  byte bVar11;\n  uint uVar12;\n  int iVar13;\n  int unaff_EBX;\n  int unaff_EDI;\n  bool bVar14;\n  uint local_44;\n  uint local_40;\n  undefined1 local_24 [4];\n  undefined1 local_20 [16];\n  \n  FUN_0001c549();\n  local_40 = param_2[1];\n  local_44 = *param_2;\n  iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if (*(int *)(param_1 + 0x10) != 0) {\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }\n  iVar13 = *(int *)(param_1 + 0xc);\n  if (iVar13 == 0) {\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\n  }\n  else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }\n  if (0x8cd < (int)uVar8) {\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }\n  if (uVar8 < 0x563) {\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }\n  else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }\nLAB_00043668:\n  FUN_0003fb00(iVar7,local_44,local_40,uVar4);\nLAB_0004367e:\n  *(uint *)(param_1 + 0x14) = local_44;\n  *(uint *)(param_1 + 0x18) = local_40;\n  return;\n}" primitive_type (function_declarator "FUN_00043480(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  int *piVar1;\n  uint *puVar2;\n  ushort uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  byte bVar11;\n  uint uVar12;\n  int iVar13;\n  int unaff_EBX;\n  int unaff_EDI;\n  bool bVar14;\n  uint local_44;\n  uint local_40;\n  undefined1 local_24 [4];\n  undefined1 local_20 [16];\n  \n  FUN_0001c549();\n  local_40 = param_2[1];\n  local_44 = *param_2;\n  iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if (*(int *)(param_1 + 0x10) != 0) {\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }\n  iVar13 = *(int *)(param_1 + 0xc);\n  if (iVar13 == 0) {\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\n  }\n  else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }\n  if (0x8cd < (int)uVar8) {\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }\n  if (uVar8 < 0x563) {\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }\n  else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }\nLAB_00043668:\n  FUN_0003fb00(iVar7,local_44,local_40,uVar4);\nLAB_0004367e:\n  *(uint *)(param_1 + 0x14) = local_44;\n  *(uint *)(param_1 + 0x18) = local_40;\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int unaff_EBX;" primitive_type identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "undefined1 local_24 [4];" type_identifier (array_declarator "local_24 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_20 [16];" type_identifier (array_declarator "local_20 [16]" identifier [ number_literal ]) ;) (expression_statement "FUN_0001c549();" (call_expression "FUN_0001c549()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_40 = param_2[1];" (assignment_expression "local_40 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "local_44 = *param_2;" (assignment_expression "local_44 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);" (assignment_expression "iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" identifier = (binary_expression "*(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" (binary_expression "*(int *)(param_1 + 4) + 0x4c" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) + number_literal) + (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(param_1 + 0x10) != 0) {\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x10) != 0)" ( (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) )) (compound_statement "{\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }" { (expression_statement "uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));" (assignment_expression "uVar4 = FUN_00037470(*(int *)(param_1 + 0x10))" identifier = (call_expression "FUN_00037470(*(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) )))) )))) ;) (expression_statement "uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));" (assignment_expression "uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30))" identifier = (call_expression "bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x30))" ( (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) )))) )))) ;) (expression_statement "uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);" (assignment_expression "uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0xdde5,5)" identifier (argument_list "(0,unaff_EDI + 0xdde5,5)" ( number_literal , (binary_expression "unaff_EDI + 0xdde5" identifier + number_literal) , number_literal )))) ;) (expression_statement "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);" (call_expression "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier , identifier , identifier ))) ;) (expression_statement "unaff_EBX = unaff_EDI + 0x24b79;" (assignment_expression "unaff_EBX = unaff_EDI + 0x24b79" identifier = (binary_expression "unaff_EDI + 0x24b79" identifier + number_literal)) ;) })) (expression_statement "iVar13 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar13 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 == 0) {\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\n  }\n  else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\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)) ;) (labeled_statement "LAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);" statement_identifier : (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }" else (compound_statement "{\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }" { (if_statement "if ((*param_1 & 1) == 0) goto LAB_00043514;" 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_00043514;" goto statement_identifier ;)) (expression_statement "puVar2 = *(uint **)(param_1 + 4);" (assignment_expression "puVar2 = *(uint **)(param_1 + 4)" identifier = (pointer_expression "*(uint **)(param_1 + 4)" * (cast_expression "(uint **)(param_1 + 4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = local_44 + *puVar2;" (assignment_expression "uVar12 = local_44 + *puVar2" identifier = (binary_expression "local_44 + *puVar2" identifier + (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);" (assignment_expression "unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2)" identifier = (binary_expression "local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2)" (binary_expression "local_40 + puVar2[1]" identifier + (subscript_expression "puVar2[1]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(local_44,*puVar2)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_44,*puVar2)" identifier (argument_list "(local_44,*puVar2)" ( identifier , (pointer_expression "*puVar2" * identifier) )))))) ;) (expression_statement "uVar9 = *(uint *)(param_1 + 8);" (assignment_expression "uVar9 = *(uint *)(param_1 + 8)" identifier = (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_44 = uVar9 + uVar12;" (assignment_expression "local_44 = uVar9 + uVar12" identifier = (binary_expression "uVar9 + uVar12" identifier + identifier)) ;) (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12)" identifier = (binary_expression "((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12)" (binary_expression "((int)uVar9 >> 0x1f) + unaff_EBX" (parenthesized_expression "((int)uVar9 >> 0x1f)" ( (binary_expression "(int)uVar9 >> 0x1f" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + identifier) + (cast_expression "(uint)CARRY4(uVar9,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier )))))) ;) }))) (if_statement "if (0x8cd < (int)uVar8) {\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }" if (parenthesized_expression "(0x8cd < (int)uVar8)" ( (binary_expression "0x8cd < (int)uVar8" number_literal < (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }" { (if_statement "if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }" if (parenthesized_expression "((*param_1 & 0x20) != 0)" ( (binary_expression "(*param_1 & 0x20) != 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }" { (expression_statement "FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );" (call_expression "FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  )" identifier (argument_list "(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  )" ( identifier , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);" (assignment_expression "piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc)" identifier = (cast_expression "(int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc)" ( (binary_expression "*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc" (pointer_expression "*(int *)(unaff_EDI + 0x24b09)" * (cast_expression "(int *)(unaff_EDI + 0x24b09)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x24b09)" ( (binary_expression "unaff_EDI + 0x24b09" identifier + number_literal) )))) + (binary_expression "(uVar8 - 0x8ce) * 0xc" (parenthesized_expression "(uVar8 - 0x8ce)" ( (binary_expression "uVar8 - 0x8ce" identifier - number_literal) )) * number_literal)) )))) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40;" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0xc)" ( (binary_expression "iVar7 == 0xc" identifier == number_literal) )) (compound_statement "{\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }" { (expression_statement "iVar7 = piVar1[1];" (assignment_expression "iVar7 = piVar1[1]" identifier = (subscript_expression "piVar1[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" if (parenthesized_expression "(iVar7 == 0x14)" ( (binary_expression "iVar7 == 0x14" identifier == number_literal) )) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" { (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 2" (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) )))) + number_literal)) ;) (expression_statement "param_1[0x30] = 0x51;" (assignment_expression "param_1[0x30] = 0x51" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" if (parenthesized_expression "(iVar7 == 0x24)" ( (binary_expression "iVar7 == 0x24" identifier == number_literal) )) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" { (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 4" (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) )))) + number_literal)) ;) (expression_statement "param_1[0x30] = 0x51;" (assignment_expression "param_1[0x30] = 0x51" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }" if (parenthesized_expression "((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "(iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(iVar7 == 0xc)" ( (binary_expression "iVar7 == 0xc" identifier == number_literal) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }" { (expression_statement "param_1[0x30] = 0x5a;" (assignment_expression "param_1[0x30] = 0x5a" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 1" (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) )))) + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 1;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 1" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "local_44 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = (binary_expression "local_40 + (0xfffffffe < local_44)" identifier + (parenthesized_expression "(0xfffffffe < local_44)" ( (binary_expression "0xfffffffe < local_44" number_literal < identifier) )))) ;) (expression_statement "param_1[1] = 1;" (assignment_expression "param_1[1] = 1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x14)" ( (binary_expression "iVar7 == 0x14" identifier == number_literal) )) (compound_statement "{\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }" { (if_statement "if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" if (parenthesized_expression "(piVar1[1] == 0x14)" ( (binary_expression "piVar1[1] == 0x14" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" { (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 2" (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) )))) + number_literal)) ;) (expression_statement "param_1[0x30] = 0x83;" (assignment_expression "param_1[0x30] = 0x83" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 8)" ( (binary_expression "iVar7 == 8" identifier == number_literal) )) (compound_statement "{\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }" { (if_statement "if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" if (parenthesized_expression "(piVar1[1] == 8)" ( (binary_expression "piVar1[1] == 8" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" { (expression_statement "param_1[2] = 1;" (assignment_expression "param_1[2] = 1" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 1" (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) )))) + number_literal)) ;) (expression_statement "param_1[0x30] = 7;" (assignment_expression "param_1[0x30] = 7" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x10)" ( (binary_expression "iVar7 == 0x10" identifier == number_literal) )) (compound_statement "{\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }" { (if_statement "if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" if (parenthesized_expression "(piVar1[1] == 0x10)" ( (binary_expression "piVar1[1] == 0x10" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" { (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 2" (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) )))) + number_literal)) ;) (if_statement "if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }" if (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }" { (expression_statement "param_1[0x30] = 0x5c;" (assignment_expression "param_1[0x30] = 0x5c" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 2;" (assignment_expression "param_1[1] = 2" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 2;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 2" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "local_44 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = (binary_expression "local_40 + (0xfffffffd < local_44)" identifier + (parenthesized_expression "(0xfffffffd < local_44)" ( (binary_expression "0xfffffffd < local_44" number_literal < identifier) )))) ;) (return_statement "return;" return ;) })) (expression_statement "param_1[0x30] = 5;" (assignment_expression "param_1[0x30] = 5" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }" if (parenthesized_expression "((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "(piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(piVar1[1] == 0x20)" ( (binary_expression "piVar1[1] == 0x20" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }" { (expression_statement "param_1[0x30] = 0x5c;" (assignment_expression "param_1[0x30] = 0x5c" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 4" (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) )))) + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 4;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 4" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "local_44 + 4" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = (binary_expression "local_40 + (0xfffffffb < local_44)" identifier + (parenthesized_expression "(0xfffffffb < local_44)" ( (binary_expression "0xfffffffb < local_44" number_literal < identifier) )))) ;) (expression_statement "param_1[1] = 4;" (assignment_expression "param_1[1] = 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x18)" ( (binary_expression "iVar7 == 0x18" identifier == number_literal) )) (compound_statement "{\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }" { (if_statement "if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }" if (parenthesized_expression "((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "(piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(piVar1[1] == 0x18)" ( (binary_expression "piVar1[1] == 0x18" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }" { (expression_statement "param_1[0x30] = 0x5e;" (assignment_expression "param_1[0x30] = 0x5e" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 3" (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) )))) + number_literal)) ;) (expression_statement "param_1[1] = 3;" (assignment_expression "param_1[1] = 3" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 3;" (assignment_expression "param_1[2] = 3" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 3;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 3" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "local_44 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = (binary_expression "local_40 + (0xfffffffc < local_44)" identifier + (parenthesized_expression "(0xfffffffc < local_44)" ( (binary_expression "0xfffffffc < local_44" number_literal < identifier) )))) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "((iVar7 == 0x20) && (piVar1[1] == 0x10))" ( (binary_expression "(iVar7 == 0x20) && (piVar1[1] == 0x10)" (parenthesized_expression "(iVar7 == 0x20)" ( (binary_expression "iVar7 == 0x20" identifier == number_literal) )) && (parenthesized_expression "(piVar1[1] == 0x10)" ( (binary_expression "piVar1[1] == 0x10" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" { (expression_statement "param_1[0x30] = 0x60;" (assignment_expression "param_1[0x30] = 0x60" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 2" (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) )))) + number_literal)) ;) (expression_statement "param_1[1] = 2;" (assignment_expression "param_1[1] = 2" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 4;" (assignment_expression "param_1[2] = 4" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 2;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 2" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "local_44 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = (binary_expression "local_40 + (0xfffffffd < local_44)" identifier + (parenthesized_expression "(0xfffffffd < local_44)" ( (binary_expression "0xfffffffd < local_44" number_literal < identifier) )))) ;) (return_statement "return;" return ;) })))))))))))) (expression_statement "iVar7 = FUN_00020430(iVar13,local_24,local_20);" (assignment_expression "iVar7 = FUN_00020430(iVar13,local_24,local_20)" identifier = (call_expression "FUN_00020430(iVar13,local_24,local_20)" identifier (argument_list "(iVar13,local_24,local_20)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar7 = unaff_EDI + 0xe109;\n    }" { (expression_statement "iVar7 = unaff_EDI + 0xe109;" (assignment_expression "iVar7 = unaff_EDI + 0xe109" identifier = (binary_expression "unaff_EDI + 0xe109" identifier + number_literal)) ;) }) (else_clause "else {\n      iVar7 = unaff_EDI + 0xde19;\n    }" else (compound_statement "{\n      iVar7 = unaff_EDI + 0xde19;\n    }" { (expression_statement "iVar7 = unaff_EDI + 0xde19;" (assignment_expression "iVar7 = unaff_EDI + 0xde19" identifier = (binary_expression "unaff_EDI + 0xde19" identifier + number_literal)) ;) }))) (expression_statement "uVar4 = dcgettext(0,iVar7,5);" (assignment_expression "uVar4 = dcgettext(0,iVar7,5)" identifier = (call_expression "dcgettext(0,iVar7,5)" identifier (argument_list "(0,iVar7,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);" (call_expression "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier ))) ;) (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)) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar8 < 0x563) {\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }\n  else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }" if (parenthesized_expression "(uVar8 < 0x563)" ( (binary_expression "uVar8 < 0x563" identifier < number_literal) )) (compound_statement "{\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }" { (if_statement "if (0x55f < uVar8) goto LAB_00043748;" if (parenthesized_expression "(0x55f < uVar8)" ( (binary_expression "0x55f < uVar8" number_literal < identifier) )) (goto_statement "goto LAB_00043748;" goto statement_identifier ;)) (if_statement "if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }" if (parenthesized_expression "(uVar8 != 0x38)" ( (binary_expression "uVar8 != 0x38" identifier != number_literal) )) (compound_statement "{\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }" { (if_statement "if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }" if (parenthesized_expression "(0x38 < uVar8)" ( (binary_expression "0x38 < uVar8" number_literal < identifier) )) (compound_statement "{\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }" { (if_statement "if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }" if (parenthesized_expression "(uVar8 < 0x55c)" ( (binary_expression "uVar8 < 0x55c" identifier < number_literal) )) (compound_statement "{\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }" { (if_statement "if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }" if (parenthesized_expression "(uVar8 < 0x55a)" ( (binary_expression "uVar8 < 0x55a" identifier < number_literal) )) (compound_statement "{\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }" { (if_statement "if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }" if (parenthesized_expression "(0x552 < uVar8)" ( (binary_expression "0x552 < uVar8" number_literal < identifier) )) (compound_statement "{\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }" { (if_statement "if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }" if (parenthesized_expression "(uVar8 != 0x553)" ( (binary_expression "uVar8 != 0x553" identifier != number_literal) )) (compound_statement "{\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }" { (if_statement "if (uVar8 != 0x559) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0x559)" ( (binary_expression "uVar8 != 0x559" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_0004387f;" goto statement_identifier ;) })) (goto_statement "goto LAB_000437c8;" goto statement_identifier ;) })) (if_statement "if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }" if (parenthesized_expression "(uVar8 < 0x551)" ( (binary_expression "uVar8 < 0x551" identifier < number_literal) )) (compound_statement "{\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }" { (if_statement "if (uVar8 != 0x45) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0x45)" ( (binary_expression "uVar8 != 0x45" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_00043899;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00043d00:\n          bVar11 = *param_1 & 0x20;" statement_identifier : (expression_statement "bVar11 = *param_1 & 0x20;" (assignment_expression "bVar11 = *param_1 & 0x20" identifier = (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal)) ;)) (if_statement "if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" 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) )) (compound_statement "{\n            if (bVar11 == 0) goto LAB_0004367e;\n          }" { (if_statement "if (bVar11 == 0) goto LAB_0004367e;" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) }) (else_clause "else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" else (compound_statement "{\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" { (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" identifier = (cast_expression "(uint)(char)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" identifier = (call_expression "CARRY4(local_44,uVar8)" identifier (argument_list "(local_44,uVar8)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" identifier = (binary_expression "local_44 + uVar8" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar8 >> 0x1f)" ( (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (bVar11 == 0) goto LAB_0004367e;" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "local_44 = local_44 >> 1 | local_40 * -0x80000000;" (assignment_expression "local_44 = local_44 >> 1 | local_40 * -0x80000000" identifier = (binary_expression "local_44 >> 1 | local_40 * -0x80000000" (binary_expression "local_44 >> 1" identifier >> number_literal) | (binary_expression "local_40 * -0x80000000" identifier * number_literal))) ;) (expression_statement "local_40 = local_40 >> 1;" (assignment_expression "local_40 = local_40 >> 1" identifier = (binary_expression "local_40 >> 1" identifier >> number_literal)) ;) }))) (expression_statement "uVar3 = bfd_getb16(iVar7);" (assignment_expression "uVar3 = bfd_getb16(iVar7)" identifier = (call_expression "bfd_getb16(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);" (call_expression "bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7)" identifier (argument_list "((ushort)local_44 & 0xfff | uVar3,0,iVar7)" ( (binary_expression "(ushort)local_44 & 0xfff | uVar3" (binary_expression "(ushort)local_44 & 0xfff" (cast_expression "(ushort)local_44" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) | identifier) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }" if (parenthesized_expression "(0x55d < uVar8)" ( (binary_expression "0x55d < uVar8" number_literal < identifier) )) (compound_statement "{\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }" { (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" identifier = (cast_expression "(uint)(char)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" identifier = (call_expression "CARRY4(local_44,uVar8)" identifier (argument_list "(local_44,uVar8)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" identifier = (binary_expression "local_44 + uVar8" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar8 >> 0x1f)" ( (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }" if (parenthesized_expression "((*param_1 & 0x20) != 0)" ( (binary_expression "(*param_1 & 0x20) != 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }" { (expression_statement "uVar8 = local_44 >> 1;" (assignment_expression "uVar8 = local_44 >> 1" identifier = (binary_expression "local_44 >> 1" identifier >> number_literal)) ;) (expression_statement "local_44 = uVar8 | local_40 * -0x80000000;" (assignment_expression "local_44 = uVar8 | local_40 * -0x80000000" identifier = (binary_expression "uVar8 | local_40 * -0x80000000" identifier | (binary_expression "local_40 * -0x80000000" identifier * number_literal))) ;) (expression_statement "local_40 = local_40 >> 1;" (assignment_expression "local_40 = local_40 >> 1" identifier = (binary_expression "local_40 >> 1" identifier >> number_literal)) ;) (expression_statement "uVar9 = bfd_getb32(iVar7 + -1);" (assignment_expression "uVar9 = bfd_getb32(iVar7 + -1)" identifier = (call_expression "bfd_getb32(iVar7 + -1)" identifier (argument_list "(iVar7 + -1)" ( (binary_expression "iVar7 + -1" identifier + number_literal) )))) ;) (expression_statement "bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);" (call_expression "bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1)" identifier (argument_list "(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1)" ( (binary_expression "uVar9 | uVar8 & 0xffffff" identifier | (binary_expression "uVar8 & 0xffffff" identifier & number_literal)) , number_literal , (binary_expression "iVar7 + -1" identifier + number_literal) ))) ;) })) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" identifier = (cast_expression "(uint)(char)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" identifier = (call_expression "CARRY4(local_44,uVar8)" identifier (argument_list "(local_44,uVar8)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" identifier = (binary_expression "local_44 + uVar8" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar8 >> 0x1f)" ( (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((*param_1 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((*param_1 & 0x20) == 0)" ( (binary_expression "(*param_1 & 0x20) == 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "uVar4 = 2;" (assignment_expression "uVar4 = 2" identifier = number_literal) ;) (labeled_statement "LAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);" statement_identifier : (expression_statement "FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);" (call_expression "FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4)" identifier (argument_list "(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4)" ( identifier , (binary_expression "local_44 >> 1 | local_40 << 0x1f" (binary_expression "local_44 >> 1" identifier >> number_literal) | (binary_expression "local_40 << 0x1f" identifier << number_literal)) , (binary_expression "(int)local_40 >> 1" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) , identifier ))) ;)) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (uVar8 == 8) goto LAB_0004371b;" if (parenthesized_expression "(uVar8 == 8)" ( (binary_expression "uVar8 == 8" identifier == number_literal) )) (goto_statement "goto LAB_0004371b;" goto statement_identifier ;)) (if_statement "if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }" if (parenthesized_expression "(8 < uVar8)" ( (binary_expression "8 < uVar8" number_literal < identifier) )) (compound_statement "{\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }" { (if_statement "if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }" if (parenthesized_expression "(uVar8 == 0x10)" ( (binary_expression "uVar8 == 0x10" identifier == number_literal) )) (compound_statement "{\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }" { (labeled_statement "LAB_00043899:\n          bVar11 = *param_1;" statement_identifier : (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (if_statement "if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }" if (parenthesized_expression "((bVar11 & 1) != 0)" ( (binary_expression "(bVar11 & 1) != 0" (parenthesized_expression "(bVar11 & 1)" ( (binary_expression "bVar11 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }" { (if_statement "if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }" { (expression_statement "iVar13 = unaff_EDI + 0x967e;" (assignment_expression "iVar13 = unaff_EDI + 0x967e" identifier = (binary_expression "unaff_EDI + 0x967e" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar13;" (assignment_expression "iVar10 = iVar13" identifier = identifier) ;) }) (else_clause "else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }" else (compound_statement "{\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }" { (expression_statement "iVar10 = FUN_00037470(iVar13);" (assignment_expression "iVar10 = FUN_00037470(iVar13)" identifier = (call_expression "FUN_00037470(iVar13)" identifier (argument_list "(iVar13)" ( identifier )))) ;) (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\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                iVar13 = unaff_EDI + 0x967e;\n              }" { (expression_statement "iVar13 = unaff_EDI + 0x967e;" (assignment_expression "iVar13 = unaff_EDI + 0x967e" identifier = (binary_expression "unaff_EDI + 0x967e" identifier + number_literal)) ;) }) (else_clause "else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }" else (compound_statement "{\n                iVar13 = unaff_EDI + 0xe0ff;\n              }" { (expression_statement "iVar13 = unaff_EDI + 0xe0ff;" (assignment_expression "iVar13 = unaff_EDI + 0xe0ff" identifier = (binary_expression "unaff_EDI + 0xe0ff" identifier + number_literal)) ;) }))) }))) (expression_statement "uVar4 = bfd_get_reloc_code_name(uVar8);" (assignment_expression "uVar4 = bfd_get_reloc_code_name(uVar8)" identifier = (call_expression "bfd_get_reloc_code_name(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);" (assignment_expression "uVar5 = dcgettext(0,unaff_EDI + 0xde45,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0xde45,5)" identifier (argument_list "(0,unaff_EDI + 0xde45,5)" ( number_literal , (binary_expression "unaff_EDI + 0xde45" identifier + number_literal) , number_literal )))) ;) (expression_statement "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);" (call_expression "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) })) (goto_statement "goto joined_r0x00043882;" goto statement_identifier ;) })) (if_statement "if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" if (parenthesized_expression "(uVar8 < 0x11)" ( (binary_expression "uVar8 < 0x11" identifier < number_literal) )) (compound_statement "{\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }" { (if_statement "if (uVar8 == 9) goto LAB_00043995;" if (parenthesized_expression "(uVar8 == 9)" ( (binary_expression "uVar8 == 9" identifier == number_literal) )) (goto_statement "goto LAB_00043995;" goto statement_identifier ;)) (if_statement "if (uVar8 != 0xf) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0xf)" ( (binary_expression "uVar8 != 0xf" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) }) (else_clause "else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" else (if_statement "if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" if (parenthesized_expression "(uVar8 != 0x12)" ( (binary_expression "uVar8 != 0x12" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" { (if_statement "if (uVar8 != 0x13) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0x13)" ( (binary_expression "uVar8 != 0x13" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_00043899;" goto statement_identifier ;) })))) (labeled_statement "LAB_000437c8:\n        bVar11 = *param_1;" statement_identifier : (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (goto_statement "goto joined_r0x000437cb;" goto statement_identifier ;) })) (if_statement "if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (compound_statement "{\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }" { (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar4 = 2;" (assignment_expression "uVar4 = 2" identifier = number_literal) ;) (if_statement "if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }" if (parenthesized_expression "((bVar11 & 1) != 0)" ( (binary_expression "(bVar11 & 1) != 0" (parenthesized_expression "(bVar11 & 1)" ( (binary_expression "bVar11 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar4 = 9;\n        }" { (expression_statement "uVar4 = 9;" (assignment_expression "uVar4 = 9" identifier = number_literal) ;) })) (expression_statement "*(undefined4 *)(param_1 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(param_1 + 0x30) = 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) )))) = identifier) ;) (goto_statement "goto joined_r0x000437cb;" goto statement_identifier ;) })) (if_statement "if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }" if (parenthesized_expression "(2 < uVar8)" ( (binary_expression "2 < uVar8" number_literal < identifier) )) (compound_statement "{\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }" { (if_statement "if (uVar8 == 5) goto LAB_00043899;" if (parenthesized_expression "(uVar8 == 5)" ( (binary_expression "uVar8 == 5" identifier == number_literal) )) (goto_statement "goto LAB_00043899;" goto statement_identifier ;)) (if_statement "if (uVar8 != 7) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 7)" ( (binary_expression "uVar8 != 7" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (if_statement "if ((*param_1 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }" 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) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }" { comment (expression_statement "FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);" (call_expression "FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX)" identifier (argument_list "(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX)" ( (binary_expression "unaff_EDI + 0xde95" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0xe3b1" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*param_1 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((*param_1 & 0x20) == 0)" ( (binary_expression "(*param_1 & 0x20) == 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00043668;" goto statement_identifier ;) })) (if_statement "if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002acf0(uVar5,uVar4);\n      }" if (parenthesized_expression "(uVar8 != 1)" ( (binary_expression "uVar8 != 1" identifier != number_literal) )) (compound_statement "{\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        FUN_0002acf0(uVar5,uVar4);\n      }" { (labeled_statement "LAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);" statement_identifier : (expression_statement "iVar7 = bfd_get_reloc_code_name(uVar8);" (assignment_expression "iVar7 = bfd_get_reloc_code_name(uVar8)" identifier = (call_expression "bfd_get_reloc_code_name(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;)) (if_statement "if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002acf0(uVar4,iVar7);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002acf0(uVar4,iVar7);\n        }" { (expression_statement "uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);" (assignment_expression "uVar4 = dcgettext(0,unaff_EDI + 0xe125,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0xe125,5)" identifier (argument_list "(0,unaff_EDI + 0xe125,5)" ( number_literal , (binary_expression "unaff_EDI + 0xe125" identifier + number_literal) , number_literal )))) ;) comment (expression_statement "FUN_0002acf0(uVar4,iVar7);" (call_expression "FUN_0002acf0(uVar4,iVar7)" identifier (argument_list "(uVar4,iVar7)" ( identifier , identifier ))) ;) })) (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x30)" identifier = (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) ))))) ;) (expression_statement "uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);" (assignment_expression "uVar5 = dcgettext(0,unaff_EDI + 0xe141,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0xe141,5)" identifier (argument_list "(0,unaff_EDI + 0xe141,5)" ( number_literal , (binary_expression "unaff_EDI + 0xe141" identifier + number_literal) , number_literal )))) ;) comment (expression_statement "FUN_0002acf0(uVar5,uVar4);" (call_expression "FUN_0002acf0(uVar5,uVar4)" identifier (argument_list "(uVar5,uVar4)" ( identifier , identifier ))) ;) })) (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (if_statement "if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }" if (parenthesized_expression "((bVar11 & 1) != 0)" ( (binary_expression "(bVar11 & 1) != 0" (parenthesized_expression "(bVar11 & 1)" ( (binary_expression "bVar11 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar4 = 8;\n      }" { (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" identifier = number_literal) ;) })) (expression_statement "*(undefined4 *)(param_1 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(param_1 + 0x30) = 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) )))) = identifier) ;) (goto_statement "goto joined_r0x0004371e;" goto statement_identifier ;) })) (labeled_statement "LAB_00043995:\n    param_1[0x30] = 9;" statement_identifier : (expression_statement "param_1[0x30] = 9;" (assignment_expression "param_1[0x30] = 9" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (labeled_statement "joined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" statement_identifier : (if_statement "if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((bVar11 & 0x20) == 0)" ( (binary_expression "(bVar11 & 0x20) == 0" (parenthesized_expression "(bVar11 & 0x20)" ( (binary_expression "bVar11 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;))) (expression_statement "uVar4 = 4;" (assignment_expression "uVar4 = 4" identifier = number_literal) ;) }) (else_clause "else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }" else (compound_statement "{\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }" { (if_statement "if (uVar8 == 0x56d) goto LAB_000437c8;" if (parenthesized_expression "(uVar8 == 0x56d)" ( (binary_expression "uVar8 == 0x56d" identifier == number_literal) )) (goto_statement "goto LAB_000437c8;" goto statement_identifier ;)) (if_statement "if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }" if (parenthesized_expression "(0x56d < uVar8)" ( (binary_expression "0x56d < uVar8" number_literal < identifier) )) (compound_statement "{\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }" { (if_statement "if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" if (parenthesized_expression "(uVar8 < 0x583)" ( (binary_expression "uVar8 < 0x583" identifier < number_literal) )) (compound_statement "{\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }" { (if_statement "if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }" if (parenthesized_expression "(uVar8 < 0x57c)" ( (binary_expression "uVar8 < 0x57c" identifier < number_literal) )) (compound_statement "{\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }" { (if_statement "if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }" if (parenthesized_expression "(0x57a < uVar8)" ( (binary_expression "0x57a < uVar8" number_literal < identifier) )) (compound_statement "{\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }" { (expression_statement "FUN_00039ca0(iVar13);" (call_expression "FUN_00039ca0(iVar13)" identifier (argument_list "(iVar13)" ( identifier ))) ;) (expression_statement "bVar14 = 0xfffffffd < local_44;" (assignment_expression "bVar14 = 0xfffffffd < local_44" identifier = (binary_expression "0xfffffffd < local_44" number_literal < identifier)) ;) (expression_statement "local_44 = local_44 + 2;" (assignment_expression "local_44 = local_44 + 2" identifier = (binary_expression "local_44 + 2" identifier + number_literal)) ;) (expression_statement "local_40 = local_40 + bVar14;" (assignment_expression "local_40 = local_40 + bVar14" identifier = (binary_expression "local_40 + bVar14" identifier + identifier)) ;) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (uVar8 < 0x56f) goto LAB_0004371b;" if (parenthesized_expression "(uVar8 < 0x56f)" ( (binary_expression "uVar8 < 0x56f" identifier < number_literal) )) (goto_statement "goto LAB_0004371b;" goto statement_identifier ;)) })) }) (else_clause "else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" else (if_statement "if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" if (parenthesized_expression "(uVar8 != 0x586)" ( (binary_expression "uVar8 != 0x586" identifier != number_literal) )) (compound_statement "{\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" { (if_statement "if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }" if (parenthesized_expression "(0x585 < uVar8)" ( (binary_expression "0x585 < uVar8" number_literal < identifier) )) (compound_statement "{\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }" { (if_statement "if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }" if (parenthesized_expression "(uVar8 - 0x5a3 < 2)" ( (binary_expression "uVar8 - 0x5a3 < 2" (binary_expression "uVar8 - 0x5a3" identifier - number_literal) < number_literal) )) (compound_statement "{\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }" { (expression_statement "*param_1 = *param_1 & 0xdf;" (assignment_expression "*param_1 = *param_1 & 0xdf" (pointer_expression "*param_1" * identifier) = (binary_expression "*param_1 & 0xdf" (pointer_expression "*param_1" * identifier) & number_literal)) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_00043958;" goto statement_identifier ;) })) (if_statement "if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }" if (parenthesized_expression "((*param_1 & 0x20) != 0)" ( (binary_expression "(*param_1 & 0x20) != 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }" { (expression_statement "uVar8 = bfd_getb32(iVar7);" (assignment_expression "uVar8 = bfd_getb32(iVar7)" identifier = (call_expression "bfd_getb32(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);" (call_expression "bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7)" identifier (argument_list "(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7)" ( (binary_expression "local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8" (binary_expression "local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8" (binary_expression "local_44 >> 0xc & 0xff" (binary_expression "local_44 >> 0xc" identifier >> number_literal) & number_literal) | (binary_expression "(local_44 & 0xfff) << 8" (parenthesized_expression "(local_44 & 0xfff)" ( (binary_expression "local_44 & 0xfff" identifier & number_literal) )) << number_literal)) | identifier) , number_literal , identifier ))) ;) })) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })))) (expression_statement "FUN_00039ca0(iVar13);" (call_expression "FUN_00039ca0(iVar13)" identifier (argument_list "(iVar13)" ( identifier ))) ;) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (uVar8 == 0x567) goto LAB_00043d00;" if (parenthesized_expression "(uVar8 == 0x567)" ( (binary_expression "uVar8 == 0x567" identifier == number_literal) )) (goto_statement "goto LAB_00043d00;" goto statement_identifier ;)) (if_statement "if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" if (parenthesized_expression "(uVar8 < 0x568)" ( (binary_expression "uVar8 < 0x568" identifier < number_literal) )) (compound_statement "{\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }" { (if_statement "if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }" if (parenthesized_expression "(uVar8 == 0x565)" ( (binary_expression "uVar8 == 0x565" identifier == number_literal) )) (compound_statement "{\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }" { (labeled_statement "LAB_00043748:\n        uVar8 = (uint)(char)param_1[1];" statement_identifier : (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" identifier = (cast_expression "(uint)(char)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;)) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" identifier = (call_expression "CARRY4(local_44,uVar8)" identifier (argument_list "(local_44,uVar8)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" identifier = (binary_expression "local_44 + uVar8" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar8 >> 0x1f)" ( (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((*param_1 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((*param_1 & 0x20) == 0)" ( (binary_expression "(*param_1 & 0x20) == 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "uVar4 = 4;" (assignment_expression "uVar4 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_00043760;" goto statement_identifier ;) })) }) (else_clause "else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" else (if_statement "if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" if (parenthesized_expression "(uVar8 != 0x56a)" ( (binary_expression "uVar8 != 0x56a" identifier != number_literal) )) (compound_statement "{\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" { (if_statement "if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }" if (parenthesized_expression "(uVar8 < 0x56b)" ( (binary_expression "uVar8 < 0x56b" identifier < number_literal) )) (compound_statement "{\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }" { (if_statement "if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }" if (parenthesized_expression "(uVar8 != 0x568)" ( (binary_expression "uVar8 != 0x568" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }" { (if_statement "if (uVar8 != 0x569) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0x569)" ( (binary_expression "uVar8 != 0x569" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_000437c8;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }" else (compound_statement "{\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }" { (if_statement "if (uVar8 == 0x56b) goto LAB_00043748;" if (parenthesized_expression "(uVar8 == 0x56b)" ( (binary_expression "uVar8 == 0x56b" identifier == number_literal) )) (goto_statement "goto LAB_00043748;" goto statement_identifier ;)) (if_statement "if (uVar8 != 0x56c) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0x56c)" ( (binary_expression "uVar8 != 0x56c" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0004387f:\n      bVar11 = *param_1;" statement_identifier : (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (labeled_statement "joined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" statement_identifier : (if_statement "if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((bVar11 & 0x20) == 0)" ( (binary_expression "(bVar11 & 0x20) == 0" (parenthesized_expression "(bVar11 & 0x20)" ( (binary_expression "bVar11 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;))) (expression_statement "uVar4 = 2;" (assignment_expression "uVar4 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_00043668;" goto statement_identifier ;) })))) (labeled_statement "LAB_0004371b:\n    bVar11 = *param_1;" statement_identifier : (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (labeled_statement "joined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" statement_identifier : (if_statement "if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((bVar11 & 0x20) == 0)" ( (binary_expression "(bVar11 & 0x20) == 0" (parenthesized_expression "(bVar11 & 0x20)" ( (binary_expression "bVar11 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;))) (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" identifier = number_literal) ;) }))) (labeled_statement "LAB_00043668:\n  FUN_0003fb00(iVar7,local_44,local_40,uVar4);" statement_identifier : (expression_statement "FUN_0003fb00(iVar7,local_44,local_40,uVar4);" (call_expression "FUN_0003fb00(iVar7,local_44,local_40,uVar4)" identifier (argument_list "(iVar7,local_44,local_40,uVar4)" ( identifier , identifier , identifier , identifier ))) ;)) (labeled_statement "LAB_0004367e:\n  *(uint *)(param_1 + 0x14) = local_44;" statement_identifier : (expression_statement "*(uint *)(param_1 + 0x14) = local_44;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(uint *)(param_1 + 0x18) = local_40;" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nvoid md_apply_fix(fixS *fixP,valueT *valP,segT seg)\n\n{\n  int *piVar1;\n  symbolS *s;\n  fragS *pfVar2;\n  ushort uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *pcVar6;\n  int iVar7;\n  char *pcVar8;\n  bfd_reloc_code_real_type bVar9;\n  uint uVar10;\n  uint uVar11;\n  char *format;\n  byte bVar12;\n  int unaff_EDI;\n  bool bVar13;\n  uint local_44;\n  uint local_40;\n  char *sfile;\n  uint sline;\n  \n  __x86_get_pc_thunk_di();\n  local_40 = *(uint *)((int)valP + 4);\n  local_44 = (uint)*valP;\n  pcVar8 = fixP->fx_frag->fr_literal + fixP->fx_where;\n  if (fixP->fx_subsy != (symbolS *)0x0) {\n    pcVar4 = S_GET_NAME(fixP->fx_subsy);\n    uVar5 = bfd_get_reloc_code_name(fixP->fx_r_type);\n    pcVar6 = (char *)dcgettext(0,unaff_EDI + 0xdde5,5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar6,uVar5,pcVar4);\n  }\n  s = fixP->fx_addsy;\n  if (s == (symbolS *)0x0) {\n    *(byte *)fixP = *(byte *)fixP | 0x20;\nLAB_00043514:\n    bVar9 = fixP->fx_r_type;\n  }\n  else {\n    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) == (undefined1  [68])0x0\n       ) goto LAB_00043514;\n    pfVar2 = fixP->fx_frag;\n    bVar13 = CARRY4(local_44,(uint)pfVar2->fr_address);\n    uVar11 = local_44 + (int)pfVar2->fr_address;\n    uVar10 = fixP->fx_where;\n    local_44 = uVar10 + uVar11;\n    bVar9 = fixP->fx_r_type;\n    local_40 = ((int)uVar10 >> 0x1f) +\n               local_40 + *(int *)((int)&pfVar2->fr_address + 4) + (uint)bVar13 +\n               (uint)CARRY4(uVar10,uVar11);\n  }\n  if (0x8cd < (int)bVar9) {\n    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n        (undefined1  [68])0x0) {\n      s390_insert_operand((uchar *)pcVar8,\n                          (s390_operand *)\n                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc),\n                          CONCAT44(local_40,local_44),fixP->fx_file,fixP->fx_line);\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc);\n    *(uint *)&fixP->fx_offset = local_44;\n    iVar7 = *piVar1;\n    *(uint *)((int)&fixP->fx_offset + 4) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 4;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC12DBL;\n        fixP->fx_where = fixP->fx_where + 1;\n        *(uint *)&fixP->fx_offset = local_44 + 1;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44);\n        fixP->fx_pcrel_adjust = '\x01';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_20;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = expr_symbol_where(s,&sfile,&sline);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    pcVar8 = (char *)dcgettext(0,iVar7,5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar8);\n    *(byte *)fixP = *(byte *)fixP | 0x20;\n    return;\n  }\n  if (bVar9 < BFD_RELOC_390_GOT64) {\n    if (BFD_RELOC_390_PLT24DBL < bVar9) goto LAB_00043748;\n    if (bVar9 != BFD_RELOC_32_BASEREL) {\n      if (BFD_RELOC_32_BASEREL < bVar9) {\n        if (bVar9 < BFD_RELOC_390_PC16DBL) {\n          if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;\n          if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(pcVar8);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);\n          goto LAB_0004367e;\n        }\n        if (BFD_RELOC_390_PLT16DBL < bVar9) {\n          uVar10 = (uint)fixP->fx_pcrel_adjust;\n          bVar13 = CARRY4(local_44,uVar10);\n          local_44 = local_44 + uVar10;\n          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 2;\nLAB_00043760:\n        number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);\n        goto LAB_0004367e;\n      }\n      if (bVar9 == BFD_RELOC_64_PCREL) goto LAB_0004371b;\n      if (BFD_RELOC_64_PCREL < bVar9) {\n        if (bVar9 == BFD_RELOC_16_GOT_PCREL) {\nLAB_00043899:\n          bVar12 = *(byte *)fixP;\n          if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }\n          goto joined_r0x00043882;\n        }\n        if (bVar9 < BFD_RELOC_8_GOT_PCREL) {\n          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;\n          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;\n        }\n        else if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar12 = *(byte *)fixP;\n        goto joined_r0x000437cb;\n      }\n      if (bVar9 == BFD_RELOC_32) {\n        bVar12 = *(byte *)fixP;\n        bVar9 = BFD_RELOC_32;\n        if ((bVar12 & 1) != 0) {\n          bVar9 = BFD_RELOC_32_PCREL;\n        }\n        fixP->fx_r_type = bVar9;\n        goto joined_r0x000437cb;\n      }\n      if (BFD_RELOC_32 < bVar9) {\n        if (bVar9 == BFD_RELOC_16) goto LAB_00043899;\n        if (bVar9 != BFD_RELOC_8) goto LAB_00043958;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 1;\n        goto LAB_00043668;\n      }\n      if (bVar9 != BFD_RELOC_64) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(bVar9);\n        if (iVar7 != 0) {\n          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar8,iVar7);\n        }\n        bVar9 = fixP->fx_r_type;\n        pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar8,bVar9);\n      }\n      bVar12 = *(byte *)fixP;\n      bVar9 = BFD_RELOC_64;\n      if ((bVar12 & 1) != 0) {\n        bVar9 = BFD_RELOC_64_PCREL;\n      }\n      fixP->fx_r_type = bVar9;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    fixP->fx_r_type = BFD_RELOC_32_PCREL;\n    bVar12 = *(byte *)fixP;\njoined_r0x000437cb:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n    iVar7 = 4;\n  }\n  else {\n    if (bVar9 == BFD_RELOC_390_PLTOFF32) goto LAB_000437c8;\n    if (BFD_RELOC_390_PLTOFF32 < bVar9) {\n      if (bVar9 < BFD_RELOC_390_20) {\n        if (bVar9 < BFD_RELOC_390_TLS_LE32) {\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }\n      }\n      else if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }\n      S_SET_THREAD_LOCAL(s);\n      goto LAB_0004367e;\n    }\n    if (bVar9 == BFD_RELOC_390_GOTPLT12) goto LAB_00043d00;\n    if (bVar9 < BFD_RELOC_390_GOTPLT16) {\n      if (bVar9 == BFD_RELOC_390_GOTENT) {\nLAB_00043748:\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (bVar9 != BFD_RELOC_390_GOTPLT64) {\n      if (bVar9 < BFD_RELOC_390_GOTPLTENT) {\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar12 = *(byte *)fixP;\njoined_r0x00043882:\n      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n      iVar7 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar12 = *(byte *)fixP;\njoined_r0x0004371e:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n    iVar7 = 8;\n  }\nLAB_00043668:\n  number_to_chars_bigendian(pcVar8,CONCAT44(local_40,local_44),iVar7);\nLAB_0004367e:\n  *(uint *)&fixP->fx_offset = local_44;\n  *(uint *)((int)&fixP->fx_offset + 4) = local_40;\n  return;\n}\n\n" comment (function_definition "void md_apply_fix(fixS *fixP,valueT *valP,segT seg)\n\n{\n  int *piVar1;\n  symbolS *s;\n  fragS *pfVar2;\n  ushort uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *pcVar6;\n  int iVar7;\n  char *pcVar8;\n  bfd_reloc_code_real_type bVar9;\n  uint uVar10;\n  uint uVar11;\n  char *format;\n  byte bVar12;\n  int unaff_EDI;\n  bool bVar13;\n  uint local_44;\n  uint local_40;\n  char *sfile;\n  uint sline;\n  \n  __x86_get_pc_thunk_di();\n  local_40 = *(uint *)((int)valP + 4);\n  local_44 = (uint)*valP;\n  pcVar8 = fixP->fx_frag->fr_literal + fixP->fx_where;\n  if (fixP->fx_subsy != (symbolS *)0x0) {\n    pcVar4 = S_GET_NAME(fixP->fx_subsy);\n    uVar5 = bfd_get_reloc_code_name(fixP->fx_r_type);\n    pcVar6 = (char *)dcgettext(0,unaff_EDI + 0xdde5,5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar6,uVar5,pcVar4);\n  }\n  s = fixP->fx_addsy;\n  if (s == (symbolS *)0x0) {\n    *(byte *)fixP = *(byte *)fixP | 0x20;\nLAB_00043514:\n    bVar9 = fixP->fx_r_type;\n  }\n  else {\n    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) == (undefined1  [68])0x0\n       ) goto LAB_00043514;\n    pfVar2 = fixP->fx_frag;\n    bVar13 = CARRY4(local_44,(uint)pfVar2->fr_address);\n    uVar11 = local_44 + (int)pfVar2->fr_address;\n    uVar10 = fixP->fx_where;\n    local_44 = uVar10 + uVar11;\n    bVar9 = fixP->fx_r_type;\n    local_40 = ((int)uVar10 >> 0x1f) +\n               local_40 + *(int *)((int)&pfVar2->fr_address + 4) + (uint)bVar13 +\n               (uint)CARRY4(uVar10,uVar11);\n  }\n  if (0x8cd < (int)bVar9) {\n    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n        (undefined1  [68])0x0) {\n      s390_insert_operand((uchar *)pcVar8,\n                          (s390_operand *)\n                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc),\n                          CONCAT44(local_40,local_44),fixP->fx_file,fixP->fx_line);\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc);\n    *(uint *)&fixP->fx_offset = local_44;\n    iVar7 = *piVar1;\n    *(uint *)((int)&fixP->fx_offset + 4) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 4;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC12DBL;\n        fixP->fx_where = fixP->fx_where + 1;\n        *(uint *)&fixP->fx_offset = local_44 + 1;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44);\n        fixP->fx_pcrel_adjust = '\x01';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_20;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = expr_symbol_where(s,&sfile,&sline);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    pcVar8 = (char *)dcgettext(0,iVar7,5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar8);\n    *(byte *)fixP = *(byte *)fixP | 0x20;\n    return;\n  }\n  if (bVar9 < BFD_RELOC_390_GOT64) {\n    if (BFD_RELOC_390_PLT24DBL < bVar9) goto LAB_00043748;\n    if (bVar9 != BFD_RELOC_32_BASEREL) {\n      if (BFD_RELOC_32_BASEREL < bVar9) {\n        if (bVar9 < BFD_RELOC_390_PC16DBL) {\n          if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;\n          if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(pcVar8);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);\n          goto LAB_0004367e;\n        }\n        if (BFD_RELOC_390_PLT16DBL < bVar9) {\n          uVar10 = (uint)fixP->fx_pcrel_adjust;\n          bVar13 = CARRY4(local_44,uVar10);\n          local_44 = local_44 + uVar10;\n          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 2;\nLAB_00043760:\n        number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);\n        goto LAB_0004367e;\n      }\n      if (bVar9 == BFD_RELOC_64_PCREL) goto LAB_0004371b;\n      if (BFD_RELOC_64_PCREL < bVar9) {\n        if (bVar9 == BFD_RELOC_16_GOT_PCREL) {\nLAB_00043899:\n          bVar12 = *(byte *)fixP;\n          if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }\n          goto joined_r0x00043882;\n        }\n        if (bVar9 < BFD_RELOC_8_GOT_PCREL) {\n          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;\n          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;\n        }\n        else if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar12 = *(byte *)fixP;\n        goto joined_r0x000437cb;\n      }\n      if (bVar9 == BFD_RELOC_32) {\n        bVar12 = *(byte *)fixP;\n        bVar9 = BFD_RELOC_32;\n        if ((bVar12 & 1) != 0) {\n          bVar9 = BFD_RELOC_32_PCREL;\n        }\n        fixP->fx_r_type = bVar9;\n        goto joined_r0x000437cb;\n      }\n      if (BFD_RELOC_32 < bVar9) {\n        if (bVar9 == BFD_RELOC_16) goto LAB_00043899;\n        if (bVar9 != BFD_RELOC_8) goto LAB_00043958;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 1;\n        goto LAB_00043668;\n      }\n      if (bVar9 != BFD_RELOC_64) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(bVar9);\n        if (iVar7 != 0) {\n          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar8,iVar7);\n        }\n        bVar9 = fixP->fx_r_type;\n        pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar8,bVar9);\n      }\n      bVar12 = *(byte *)fixP;\n      bVar9 = BFD_RELOC_64;\n      if ((bVar12 & 1) != 0) {\n        bVar9 = BFD_RELOC_64_PCREL;\n      }\n      fixP->fx_r_type = bVar9;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    fixP->fx_r_type = BFD_RELOC_32_PCREL;\n    bVar12 = *(byte *)fixP;\njoined_r0x000437cb:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n    iVar7 = 4;\n  }\n  else {\n    if (bVar9 == BFD_RELOC_390_PLTOFF32) goto LAB_000437c8;\n    if (BFD_RELOC_390_PLTOFF32 < bVar9) {\n      if (bVar9 < BFD_RELOC_390_20) {\n        if (bVar9 < BFD_RELOC_390_TLS_LE32) {\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }\n      }\n      else if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }\n      S_SET_THREAD_LOCAL(s);\n      goto LAB_0004367e;\n    }\n    if (bVar9 == BFD_RELOC_390_GOTPLT12) goto LAB_00043d00;\n    if (bVar9 < BFD_RELOC_390_GOTPLT16) {\n      if (bVar9 == BFD_RELOC_390_GOTENT) {\nLAB_00043748:\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (bVar9 != BFD_RELOC_390_GOTPLT64) {\n      if (bVar9 < BFD_RELOC_390_GOTPLTENT) {\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar12 = *(byte *)fixP;\njoined_r0x00043882:\n      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n      iVar7 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar12 = *(byte *)fixP;\njoined_r0x0004371e:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n    iVar7 = 8;\n  }\nLAB_00043668:\n  number_to_chars_bigendian(pcVar8,CONCAT44(local_40,local_44),iVar7);\nLAB_0004367e:\n  *(uint *)&fixP->fx_offset = local_44;\n  *(uint *)((int)&fixP->fx_offset + 4) = local_40;\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  int *piVar1;\n  symbolS *s;\n  fragS *pfVar2;\n  ushort uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *pcVar6;\n  int iVar7;\n  char *pcVar8;\n  bfd_reloc_code_real_type bVar9;\n  uint uVar10;\n  uint uVar11;\n  char *format;\n  byte bVar12;\n  int unaff_EDI;\n  bool bVar13;\n  uint local_44;\n  uint local_40;\n  char *sfile;\n  uint sline;\n  \n  __x86_get_pc_thunk_di();\n  local_40 = *(uint *)((int)valP + 4);\n  local_44 = (uint)*valP;\n  pcVar8 = fixP->fx_frag->fr_literal + fixP->fx_where;\n  if (fixP->fx_subsy != (symbolS *)0x0) {\n    pcVar4 = S_GET_NAME(fixP->fx_subsy);\n    uVar5 = bfd_get_reloc_code_name(fixP->fx_r_type);\n    pcVar6 = (char *)dcgettext(0,unaff_EDI + 0xdde5,5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar6,uVar5,pcVar4);\n  }\n  s = fixP->fx_addsy;\n  if (s == (symbolS *)0x0) {\n    *(byte *)fixP = *(byte *)fixP | 0x20;\nLAB_00043514:\n    bVar9 = fixP->fx_r_type;\n  }\n  else {\n    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) == (undefined1  [68])0x0\n       ) goto LAB_00043514;\n    pfVar2 = fixP->fx_frag;\n    bVar13 = CARRY4(local_44,(uint)pfVar2->fr_address);\n    uVar11 = local_44 + (int)pfVar2->fr_address;\n    uVar10 = fixP->fx_where;\n    local_44 = uVar10 + uVar11;\n    bVar9 = fixP->fx_r_type;\n    local_40 = ((int)uVar10 >> 0x1f) +\n               local_40 + *(int *)((int)&pfVar2->fr_address + 4) + (uint)bVar13 +\n               (uint)CARRY4(uVar10,uVar11);\n  }\n  if (0x8cd < (int)bVar9) {\n    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n        (undefined1  [68])0x0) {\n      s390_insert_operand((uchar *)pcVar8,\n                          (s390_operand *)\n                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc),\n                          CONCAT44(local_40,local_44),fixP->fx_file,fixP->fx_line);\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc);\n    *(uint *)&fixP->fx_offset = local_44;\n    iVar7 = *piVar1;\n    *(uint *)((int)&fixP->fx_offset + 4) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 4;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC12DBL;\n        fixP->fx_where = fixP->fx_where + 1;\n        *(uint *)&fixP->fx_offset = local_44 + 1;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44);\n        fixP->fx_pcrel_adjust = '\x01';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_20;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = expr_symbol_where(s,&sfile,&sline);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    pcVar8 = (char *)dcgettext(0,iVar7,5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar8);\n    *(byte *)fixP = *(byte *)fixP | 0x20;\n    return;\n  }\n  if (bVar9 < BFD_RELOC_390_GOT64) {\n    if (BFD_RELOC_390_PLT24DBL < bVar9) goto LAB_00043748;\n    if (bVar9 != BFD_RELOC_32_BASEREL) {\n      if (BFD_RELOC_32_BASEREL < bVar9) {\n        if (bVar9 < BFD_RELOC_390_PC16DBL) {\n          if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;\n          if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(pcVar8);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);\n          goto LAB_0004367e;\n        }\n        if (BFD_RELOC_390_PLT16DBL < bVar9) {\n          uVar10 = (uint)fixP->fx_pcrel_adjust;\n          bVar13 = CARRY4(local_44,uVar10);\n          local_44 = local_44 + uVar10;\n          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 2;\nLAB_00043760:\n        number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);\n        goto LAB_0004367e;\n      }\n      if (bVar9 == BFD_RELOC_64_PCREL) goto LAB_0004371b;\n      if (BFD_RELOC_64_PCREL < bVar9) {\n        if (bVar9 == BFD_RELOC_16_GOT_PCREL) {\nLAB_00043899:\n          bVar12 = *(byte *)fixP;\n          if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }\n          goto joined_r0x00043882;\n        }\n        if (bVar9 < BFD_RELOC_8_GOT_PCREL) {\n          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;\n          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;\n        }\n        else if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar12 = *(byte *)fixP;\n        goto joined_r0x000437cb;\n      }\n      if (bVar9 == BFD_RELOC_32) {\n        bVar12 = *(byte *)fixP;\n        bVar9 = BFD_RELOC_32;\n        if ((bVar12 & 1) != 0) {\n          bVar9 = BFD_RELOC_32_PCREL;\n        }\n        fixP->fx_r_type = bVar9;\n        goto joined_r0x000437cb;\n      }\n      if (BFD_RELOC_32 < bVar9) {\n        if (bVar9 == BFD_RELOC_16) goto LAB_00043899;\n        if (bVar9 != BFD_RELOC_8) goto LAB_00043958;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 1;\n        goto LAB_00043668;\n      }\n      if (bVar9 != BFD_RELOC_64) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(bVar9);\n        if (iVar7 != 0) {\n          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar8,iVar7);\n        }\n        bVar9 = fixP->fx_r_type;\n        pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar8,bVar9);\n      }\n      bVar12 = *(byte *)fixP;\n      bVar9 = BFD_RELOC_64;\n      if ((bVar12 & 1) != 0) {\n        bVar9 = BFD_RELOC_64_PCREL;\n      }\n      fixP->fx_r_type = bVar9;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    fixP->fx_r_type = BFD_RELOC_32_PCREL;\n    bVar12 = *(byte *)fixP;\njoined_r0x000437cb:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n    iVar7 = 4;\n  }\n  else {\n    if (bVar9 == BFD_RELOC_390_PLTOFF32) goto LAB_000437c8;\n    if (BFD_RELOC_390_PLTOFF32 < bVar9) {\n      if (bVar9 < BFD_RELOC_390_20) {\n        if (bVar9 < BFD_RELOC_390_TLS_LE32) {\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }\n      }\n      else if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }\n      S_SET_THREAD_LOCAL(s);\n      goto LAB_0004367e;\n    }\n    if (bVar9 == BFD_RELOC_390_GOTPLT12) goto LAB_00043d00;\n    if (bVar9 < BFD_RELOC_390_GOTPLT16) {\n      if (bVar9 == BFD_RELOC_390_GOTENT) {\nLAB_00043748:\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (bVar9 != BFD_RELOC_390_GOTPLT64) {\n      if (bVar9 < BFD_RELOC_390_GOTPLTENT) {\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar12 = *(byte *)fixP;\njoined_r0x00043882:\n      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n      iVar7 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar12 = *(byte *)fixP;\njoined_r0x0004371e:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n    iVar7 = 8;\n  }\nLAB_00043668:\n  number_to_chars_bigendian(pcVar8,CONCAT44(local_40,local_44),iVar7);\nLAB_0004367e:\n  *(uint *)&fixP->fx_offset = local_44;\n  *(uint *)((int)&fixP->fx_offset + 4) = local_40;\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "symbolS *s;" type_identifier (pointer_declarator "*s" * identifier) ;) (declaration "fragS *pfVar2;" type_identifier (pointer_declarator "*pfVar2" * identifier) ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "bfd_reloc_code_real_type bVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "char *sfile;" primitive_type (pointer_declarator "*sfile" * identifier) ;) (declaration "uint sline;" type_identifier identifier ;) (expression_statement "__x86_get_pc_thunk_di();" (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_40 = *(uint *)((int)valP + 4);" (assignment_expression "local_40 = *(uint *)((int)valP + 4)" identifier = (pointer_expression "*(uint *)((int)valP + 4)" * (cast_expression "(uint *)((int)valP + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)valP + 4)" ( (binary_expression "(int)valP + 4" (cast_expression "(int)valP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_44 = (uint)*valP;" (assignment_expression "local_44 = (uint)*valP" identifier = (binary_expression "(uint)*valP" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pcVar8 = fixP->fx_frag->fr_literal + fixP->fx_where;" (assignment_expression "pcVar8 = 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_subsy != (symbolS *)0x0) {\n    pcVar4 = S_GET_NAME(fixP->fx_subsy);\n    uVar5 = bfd_get_reloc_code_name(fixP->fx_r_type);\n    pcVar6 = (char *)dcgettext(0,unaff_EDI + 0xdde5,5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar6,uVar5,pcVar4);\n  }" if (parenthesized_expression "(fixP->fx_subsy != (symbolS *)0x0)" ( (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)) )) (compound_statement "{\n    pcVar4 = S_GET_NAME(fixP->fx_subsy);\n    uVar5 = bfd_get_reloc_code_name(fixP->fx_r_type);\n    pcVar6 = (char *)dcgettext(0,unaff_EDI + 0xdde5,5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar6,uVar5,pcVar4);\n  }" { (expression_statement "pcVar4 = S_GET_NAME(fixP->fx_subsy);" (assignment_expression "pcVar4 = S_GET_NAME(fixP->fx_subsy)" identifier = (call_expression "S_GET_NAME(fixP->fx_subsy)" identifier (argument_list "(fixP->fx_subsy)" ( (field_expression "fixP->fx_subsy" identifier -> field_identifier) )))) ;) (expression_statement "uVar5 = bfd_get_reloc_code_name(fixP->fx_r_type);" (assignment_expression "uVar5 = bfd_get_reloc_code_name(fixP->fx_r_type)" identifier = (call_expression "bfd_get_reloc_code_name(fixP->fx_r_type)" identifier (argument_list "(fixP->fx_r_type)" ( (field_expression "fixP->fx_r_type" identifier -> field_identifier) )))) ;) (expression_statement "pcVar6 = (char *)dcgettext(0,unaff_EDI + 0xdde5,5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,unaff_EDI + 0xdde5,5)" identifier = (cast_expression "(char *)dcgettext(0,unaff_EDI + 0xdde5,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,unaff_EDI + 0xdde5,5)" identifier (argument_list "(0,unaff_EDI + 0xdde5,5)" ( number_literal , (binary_expression "unaff_EDI + 0xdde5" identifier + number_literal) , number_literal ))))) ;) (expression_statement "as_bad_where(fixP->fx_file,fixP->fx_line,pcVar6,uVar5,pcVar4);" (call_expression "as_bad_where(fixP->fx_file,fixP->fx_line,pcVar6,uVar5,pcVar4)" identifier (argument_list "(fixP->fx_file,fixP->fx_line,pcVar6,uVar5,pcVar4)" ( (field_expression "fixP->fx_file" identifier -> field_identifier) , (field_expression "fixP->fx_line" identifier -> field_identifier) , identifier , identifier , identifier ))) ;) })) (expression_statement "s = fixP->fx_addsy;" (assignment_expression "s = fixP->fx_addsy" identifier = (field_expression "fixP->fx_addsy" identifier -> field_identifier)) ;) (if_statement "if (s == (symbolS *)0x0) {\n    *(byte *)fixP = *(byte *)fixP | 0x20;\nLAB_00043514:\n    bVar9 = fixP->fx_r_type;\n  }\n  else {\n    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) == (undefined1  [68])0x0\n       ) goto LAB_00043514;\n    pfVar2 = fixP->fx_frag;\n    bVar13 = CARRY4(local_44,(uint)pfVar2->fr_address);\n    uVar11 = local_44 + (int)pfVar2->fr_address;\n    uVar10 = fixP->fx_where;\n    local_44 = uVar10 + uVar11;\n    bVar9 = fixP->fx_r_type;\n    local_40 = ((int)uVar10 >> 0x1f) +\n               local_40 + *(int *)((int)&pfVar2->fr_address + 4) + (uint)bVar13 +\n               (uint)CARRY4(uVar10,uVar11);\n  }" if (parenthesized_expression "(s == (symbolS *)0x0)" ( (binary_expression "s == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(byte *)fixP = *(byte *)fixP | 0x20;\nLAB_00043514:\n    bVar9 = fixP->fx_r_type;\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)) ;) (labeled_statement "LAB_00043514:\n    bVar9 = fixP->fx_r_type;" statement_identifier : (expression_statement "bVar9 = fixP->fx_r_type;" (assignment_expression "bVar9 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;)) }) (else_clause "else {\n    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) == (undefined1  [68])0x0\n       ) goto LAB_00043514;\n    pfVar2 = fixP->fx_frag;\n    bVar13 = CARRY4(local_44,(uint)pfVar2->fr_address);\n    uVar11 = local_44 + (int)pfVar2->fr_address;\n    uVar10 = fixP->fx_where;\n    local_44 = uVar10 + uVar11;\n    bVar9 = fixP->fx_r_type;\n    local_40 = ((int)uVar10 >> 0x1f) +\n               local_40 + *(int *)((int)&pfVar2->fr_address + 4) + (uint)bVar13 +\n               (uint)CARRY4(uVar10,uVar11);\n  }" else (compound_statement "{\n    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) == (undefined1  [68])0x0\n       ) goto LAB_00043514;\n    pfVar2 = fixP->fx_frag;\n    bVar13 = CARRY4(local_44,(uint)pfVar2->fr_address);\n    uVar11 = local_44 + (int)pfVar2->fr_address;\n    uVar10 = fixP->fx_where;\n    local_44 = uVar10 + uVar11;\n    bVar9 = fixP->fx_r_type;\n    local_40 = ((int)uVar10 >> 0x1f) +\n               local_40 + *(int *)((int)&pfVar2->fr_address + 4) + (uint)bVar13 +\n               (uint)CARRY4(uVar10,uVar11);\n  }" { (if_statement "if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) == (undefined1  [68])0x0\n       ) goto LAB_00043514;" if (parenthesized_expression "((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) == (undefined1  [68])0x0\n       )" ( (binary_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) == (undefined1  [68])0x0" (call_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1)" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) (argument_list "((undefined1  [68])*fixP & (undefined1  [68])0x1)" ( (binary_expression "(undefined1  [68])*fixP & (undefined1  [68])0x1" (binary_expression "(undefined1  [68])*fixP" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [68])0x1" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [68])0x0" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) )) (goto_statement "goto LAB_00043514;" goto statement_identifier ;)) (expression_statement "pfVar2 = fixP->fx_frag;" (assignment_expression "pfVar2 = fixP->fx_frag" identifier = (field_expression "fixP->fx_frag" identifier -> field_identifier)) ;) (expression_statement "bVar13 = CARRY4(local_44,(uint)pfVar2->fr_address);" (assignment_expression "bVar13 = CARRY4(local_44,(uint)pfVar2->fr_address)" identifier = (call_expression "CARRY4(local_44,(uint)pfVar2->fr_address)" identifier (argument_list "(local_44,(uint)pfVar2->fr_address)" ( identifier , (cast_expression "(uint)pfVar2->fr_address" ( (type_descriptor "uint" type_identifier) ) (field_expression "pfVar2->fr_address" identifier -> field_identifier)) )))) ;) (expression_statement "uVar11 = local_44 + (int)pfVar2->fr_address;" (assignment_expression "uVar11 = local_44 + (int)pfVar2->fr_address" identifier = (binary_expression "local_44 + (int)pfVar2->fr_address" identifier + (cast_expression "(int)pfVar2->fr_address" ( (type_descriptor "int" primitive_type) ) (field_expression "pfVar2->fr_address" identifier -> field_identifier)))) ;) (expression_statement "uVar10 = fixP->fx_where;" (assignment_expression "uVar10 = fixP->fx_where" identifier = (field_expression "fixP->fx_where" identifier -> field_identifier)) ;) (expression_statement "local_44 = uVar10 + uVar11;" (assignment_expression "local_44 = uVar10 + uVar11" identifier = (binary_expression "uVar10 + uVar11" identifier + identifier)) ;) (expression_statement "bVar9 = fixP->fx_r_type;" (assignment_expression "bVar9 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (expression_statement "local_40 = ((int)uVar10 >> 0x1f) +\n               local_40 + *(int *)((int)&pfVar2->fr_address + 4) + (uint)bVar13 +\n               (uint)CARRY4(uVar10,uVar11);" (assignment_expression "local_40 = ((int)uVar10 >> 0x1f) +\n               local_40 + *(int *)((int)&pfVar2->fr_address + 4) + (uint)bVar13 +\n               (uint)CARRY4(uVar10,uVar11)" identifier = (binary_expression "((int)uVar10 >> 0x1f) +\n               local_40 + *(int *)((int)&pfVar2->fr_address + 4) + (uint)bVar13 +\n               (uint)CARRY4(uVar10,uVar11)" (binary_expression "((int)uVar10 >> 0x1f) +\n               local_40 + *(int *)((int)&pfVar2->fr_address + 4) + (uint)bVar13" (binary_expression "((int)uVar10 >> 0x1f) +\n               local_40 + *(int *)((int)&pfVar2->fr_address + 4)" (binary_expression "((int)uVar10 >> 0x1f) +\n               local_40" (parenthesized_expression "((int)uVar10 >> 0x1f)" ( (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + identifier) + (pointer_expression "*(int *)((int)&pfVar2->fr_address + 4)" * (cast_expression "(int *)((int)&pfVar2->fr_address + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pfVar2->fr_address + 4)" ( (binary_expression "(int)&pfVar2->fr_address + 4" (cast_expression "(int)&pfVar2->fr_address" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pfVar2->fr_address" & (field_expression "pfVar2->fr_address" identifier -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) + (cast_expression "(uint)CARRY4(uVar10,uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar10,uVar11)" identifier (argument_list "(uVar10,uVar11)" ( identifier , identifier )))))) ;) }))) (if_statement "if (0x8cd < (int)bVar9) {\n    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n        (undefined1  [68])0x0) {\n      s390_insert_operand((uchar *)pcVar8,\n                          (s390_operand *)\n                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc),\n                          CONCAT44(local_40,local_44),fixP->fx_file,fixP->fx_line);\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc);\n    *(uint *)&fixP->fx_offset = local_44;\n    iVar7 = *piVar1;\n    *(uint *)((int)&fixP->fx_offset + 4) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 4;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC12DBL;\n        fixP->fx_where = fixP->fx_where + 1;\n        *(uint *)&fixP->fx_offset = local_44 + 1;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44);\n        fixP->fx_pcrel_adjust = '\x01';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_20;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = expr_symbol_where(s,&sfile,&sline);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    pcVar8 = (char *)dcgettext(0,iVar7,5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar8);\n    *(byte *)fixP = *(byte *)fixP | 0x20;\n    return;\n  }" if (parenthesized_expression "(0x8cd < (int)bVar9)" ( (binary_expression "0x8cd < (int)bVar9" number_literal < (cast_expression "(int)bVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n        (undefined1  [68])0x0) {\n      s390_insert_operand((uchar *)pcVar8,\n                          (s390_operand *)\n                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc),\n                          CONCAT44(local_40,local_44),fixP->fx_file,fixP->fx_line);\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc);\n    *(uint *)&fixP->fx_offset = local_44;\n    iVar7 = *piVar1;\n    *(uint *)((int)&fixP->fx_offset + 4) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 4;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC12DBL;\n        fixP->fx_where = fixP->fx_where + 1;\n        *(uint *)&fixP->fx_offset = local_44 + 1;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44);\n        fixP->fx_pcrel_adjust = '\x01';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_20;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = expr_symbol_where(s,&sfile,&sline);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    pcVar8 = (char *)dcgettext(0,iVar7,5);\n    as_bad_where(fixP->fx_file,fixP->fx_line,pcVar8);\n    *(byte *)fixP = *(byte *)fixP | 0x20;\n    return;\n  }" { (if_statement "if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n        (undefined1  [68])0x0) {\n      s390_insert_operand((uchar *)pcVar8,\n                          (s390_operand *)\n                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc),\n                          CONCAT44(local_40,local_44),fixP->fx_file,fixP->fx_line);\n      return;\n    }" if (parenthesized_expression "((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n        (undefined1  [68])0x0)" ( (binary_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n        (undefined1  [68])0x0" (call_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20)" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) (argument_list "((undefined1  [68])*fixP & (undefined1  [68])0x20)" ( (binary_expression "(undefined1  [68])*fixP & (undefined1  [68])0x20" (binary_expression "(undefined1  [68])*fixP" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [68])0x20" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) ))) != (cast_expression "(undefined1  [68])0x0" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n      s390_insert_operand((uchar *)pcVar8,\n                          (s390_operand *)\n                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc),\n                          CONCAT44(local_40,local_44),fixP->fx_file,fixP->fx_line);\n      return;\n    }" { (expression_statement "s390_insert_operand((uchar *)pcVar8,\n                          (s390_operand *)\n                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc),\n                          CONCAT44(local_40,local_44),fixP->fx_file,fixP->fx_line);" (call_expression "s390_insert_operand((uchar *)pcVar8,\n                          (s390_operand *)\n                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc),\n                          CONCAT44(local_40,local_44),fixP->fx_file,fixP->fx_line)" identifier (argument_list "((uchar *)pcVar8,\n                          (s390_operand *)\n                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc),\n                          CONCAT44(local_40,local_44),fixP->fx_file,fixP->fx_line)" ( (cast_expression "(uchar *)pcVar8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(s390_operand *)\n                          (*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc)" ( (type_descriptor "s390_operand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc)" ( (binary_expression "*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc" (pointer_expression "*(int *)(unaff_EDI + 0x24b09)" * (cast_expression "(int *)(unaff_EDI + 0x24b09)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x24b09)" ( (binary_expression "unaff_EDI + 0x24b09" identifier + number_literal) )))) + (binary_expression "(bVar9 - BFD_RELOC_UNUSED) * 0xc" (parenthesized_expression "(bVar9 - BFD_RELOC_UNUSED)" ( (binary_expression "bVar9 - BFD_RELOC_UNUSED" identifier - identifier) )) * number_literal)) ))) , (call_expression "CONCAT44(local_40,local_44)" identifier (argument_list "(local_40,local_44)" ( identifier , identifier ))) , (field_expression "fixP->fx_file" identifier -> field_identifier) , (field_expression "fixP->fx_line" identifier -> field_identifier) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc);" (assignment_expression "piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc)" identifier = (cast_expression "(int *)(*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc)" ( (binary_expression "*(int *)(unaff_EDI + 0x24b09) + (bVar9 - BFD_RELOC_UNUSED) * 0xc" (pointer_expression "*(int *)(unaff_EDI + 0x24b09)" * (cast_expression "(int *)(unaff_EDI + 0x24b09)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x24b09)" ( (binary_expression "unaff_EDI + 0x24b09" identifier + number_literal) )))) + (binary_expression "(bVar9 - BFD_RELOC_UNUSED) * 0xc" (parenthesized_expression "(bVar9 - BFD_RELOC_UNUSED)" ( (binary_expression "bVar9 - BFD_RELOC_UNUSED" identifier - identifier) )) * number_literal)) )))) ;) (expression_statement "*(uint *)&fixP->fx_offset = local_44;" (assignment_expression "*(uint *)&fixP->fx_offset = local_44" (pointer_expression "*(uint *)&fixP->fx_offset" * (cast_expression "(uint *)&fixP->fx_offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier)))) = identifier) ;) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "*(uint *)((int)&fixP->fx_offset + 4) = local_40;" (assignment_expression "*(uint *)((int)&fixP->fx_offset + 4) = local_40" (pointer_expression "*(uint *)((int)&fixP->fx_offset + 4)" * (cast_expression "(uint *)((int)&fixP->fx_offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fixP->fx_offset + 4)" ( (binary_expression "(int)&fixP->fx_offset + 4" (cast_expression "(int)&fixP->fx_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 4;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC12DBL;\n        fixP->fx_where = fixP->fx_where + 1;\n        *(uint *)&fixP->fx_offset = local_44 + 1;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44);\n        fixP->fx_pcrel_adjust = '\x01';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_20;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0xc)" ( (binary_expression "iVar7 == 0xc" identifier == number_literal) )) (compound_statement "{\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 4;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC12DBL;\n        fixP->fx_where = fixP->fx_where + 1;\n        *(uint *)&fixP->fx_offset = local_44 + 1;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44);\n        fixP->fx_pcrel_adjust = '\x01';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }" { (expression_statement "iVar7 = piVar1[1];" (assignment_expression "iVar7 = piVar1[1]" identifier = (subscript_expression "piVar1[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }" if (parenthesized_expression "(iVar7 == 0x14)" ( (binary_expression "iVar7 == 0x14" identifier == number_literal) )) (compound_statement "{\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }" { (expression_statement "fixP->fx_size = '\x02';" (assignment_expression "fixP->fx_size = '\x02'" (field_expression "fixP->fx_size" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "fixP->fx_where = fixP->fx_where + 2;" (assignment_expression "fixP->fx_where = fixP->fx_where + 2" (field_expression "fixP->fx_where" identifier -> field_identifier) = (binary_expression "fixP->fx_where + 2" (field_expression "fixP->fx_where" identifier -> field_identifier) + number_literal)) ;) (expression_statement "fixP->fx_r_type = BFD_RELOC_390_12;" (assignment_expression "fixP->fx_r_type = BFD_RELOC_390_12" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar7 == 0x24) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 4;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }" if (parenthesized_expression "(iVar7 == 0x24)" ( (binary_expression "iVar7 == 0x24" identifier == number_literal) )) (compound_statement "{\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 4;\n        fixP->fx_r_type = BFD_RELOC_390_12;\n        return;\n      }" { (expression_statement "fixP->fx_size = '\x02';" (assignment_expression "fixP->fx_size = '\x02'" (field_expression "fixP->fx_size" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "fixP->fx_where = fixP->fx_where + 4;" (assignment_expression "fixP->fx_where = fixP->fx_where + 4" (field_expression "fixP->fx_where" identifier -> field_identifier) = (binary_expression "fixP->fx_where + 4" (field_expression "fixP->fx_where" identifier -> field_identifier) + number_literal)) ;) (expression_statement "fixP->fx_r_type = BFD_RELOC_390_12;" (assignment_expression "fixP->fx_r_type = BFD_RELOC_390_12" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC12DBL;\n        fixP->fx_where = fixP->fx_where + 1;\n        *(uint *)&fixP->fx_offset = local_44 + 1;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44);\n        fixP->fx_pcrel_adjust = '\x01';\n        fixP->fx_size = '\x02';\n        return;\n      }" if (parenthesized_expression "((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "(iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(iVar7 == 0xc)" ( (binary_expression "iVar7 == 0xc" identifier == number_literal) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        fixP->fx_r_type = BFD_RELOC_390_PC12DBL;\n        fixP->fx_where = fixP->fx_where + 1;\n        *(uint *)&fixP->fx_offset = local_44 + 1;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44);\n        fixP->fx_pcrel_adjust = '\x01';\n        fixP->fx_size = '\x02';\n        return;\n      }" { (expression_statement "fixP->fx_r_type = BFD_RELOC_390_PC12DBL;" (assignment_expression "fixP->fx_r_type = BFD_RELOC_390_PC12DBL" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (expression_statement "fixP->fx_where = fixP->fx_where + 1;" (assignment_expression "fixP->fx_where = fixP->fx_where + 1" (field_expression "fixP->fx_where" identifier -> field_identifier) = (binary_expression "fixP->fx_where + 1" (field_expression "fixP->fx_where" identifier -> field_identifier) + number_literal)) ;) (expression_statement "*(uint *)&fixP->fx_offset = local_44 + 1;" (assignment_expression "*(uint *)&fixP->fx_offset = local_44 + 1" (pointer_expression "*(uint *)&fixP->fx_offset" * (cast_expression "(uint *)&fixP->fx_offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier)))) = (binary_expression "local_44 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44);" (assignment_expression "*(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffe < local_44)" (pointer_expression "*(uint *)((int)&fixP->fx_offset + 4)" * (cast_expression "(uint *)((int)&fixP->fx_offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fixP->fx_offset + 4)" ( (binary_expression "(int)&fixP->fx_offset + 4" (cast_expression "(int)&fixP->fx_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_40 + (0xfffffffe < local_44)" identifier + (parenthesized_expression "(0xfffffffe < local_44)" ( (binary_expression "0xfffffffe < local_44" number_literal < identifier) )))) ;) (expression_statement "fixP->fx_pcrel_adjust = '\x01';" (assignment_expression "fixP->fx_pcrel_adjust = '\x01'" (field_expression "fixP->fx_pcrel_adjust" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "fixP->fx_size = '\x02';" (assignment_expression "fixP->fx_size = '\x02'" (field_expression "fixP->fx_size" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_20;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_20;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x14)" ( (binary_expression "iVar7 == 0x14" identifier == number_literal) )) (compound_statement "{\n      if (piVar1[1] == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_20;\n        return;\n      }\n    }" { (if_statement "if (piVar1[1] == 0x14) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_20;\n        return;\n      }" if (parenthesized_expression "(piVar1[1] == 0x14)" ( (binary_expression "piVar1[1] == 0x14" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        fixP->fx_r_type = BFD_RELOC_390_20;\n        return;\n      }" { (expression_statement "fixP->fx_size = '\x02';" (assignment_expression "fixP->fx_size = '\x02'" (field_expression "fixP->fx_size" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "fixP->fx_where = fixP->fx_where + 2;" (assignment_expression "fixP->fx_where = fixP->fx_where + 2" (field_expression "fixP->fx_where" identifier -> field_identifier) = (binary_expression "fixP->fx_where + 2" (field_expression "fixP->fx_where" identifier -> field_identifier) + number_literal)) ;) (expression_statement "fixP->fx_r_type = BFD_RELOC_390_20;" (assignment_expression "fixP->fx_r_type = BFD_RELOC_390_20" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 8)" ( (binary_expression "iVar7 == 8" identifier == number_literal) )) (compound_statement "{\n      if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }\n    }" { (if_statement "if (piVar1[1] == 8) {\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }" if (parenthesized_expression "(piVar1[1] == 8)" ( (binary_expression "piVar1[1] == 8" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        fixP->fx_size = '\x01';\n        fixP->fx_where = fixP->fx_where + 1;\n        fixP->fx_r_type = BFD_RELOC_8;\n        return;\n      }" { (expression_statement "fixP->fx_size = '\x01';" (assignment_expression "fixP->fx_size = '\x01'" (field_expression "fixP->fx_size" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "fixP->fx_where = fixP->fx_where + 1;" (assignment_expression "fixP->fx_where = fixP->fx_where + 1" (field_expression "fixP->fx_where" identifier -> field_identifier) = (binary_expression "fixP->fx_where + 1" (field_expression "fixP->fx_where" identifier -> field_identifier) + number_literal)) ;) (expression_statement "fixP->fx_r_type = BFD_RELOC_8;" (assignment_expression "fixP->fx_r_type = BFD_RELOC_8" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x10)" ( (binary_expression "iVar7 == 0x10" identifier == number_literal) )) (compound_statement "{\n      if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }\n    }" { (if_statement "if (piVar1[1] == 0x10) {\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }" if (parenthesized_expression "(piVar1[1] == 0x10)" ( (binary_expression "piVar1[1] == 0x10" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        fixP->fx_size = '\x02';\n        fixP->fx_where = fixP->fx_where + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        fixP->fx_r_type = BFD_RELOC_16;\n        return;\n      }" { (expression_statement "fixP->fx_size = '\x02';" (assignment_expression "fixP->fx_size = '\x02'" (field_expression "fixP->fx_size" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "fixP->fx_where = fixP->fx_where + 2;" (assignment_expression "fixP->fx_where = fixP->fx_where + 2" (field_expression "fixP->fx_where" identifier -> field_identifier) = (binary_expression "fixP->fx_where + 2" (field_expression "fixP->fx_where" identifier -> field_identifier) + number_literal)) ;) (if_statement "if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }" if (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n          fixP->fx_pcrel_adjust = '\x02';\n          *(uint *)&fixP->fx_offset = local_44 + 2;\n          *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n          return;\n        }" { (expression_statement "fixP->fx_r_type = BFD_RELOC_390_PC16DBL;" (assignment_expression "fixP->fx_r_type = BFD_RELOC_390_PC16DBL" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (expression_statement "fixP->fx_pcrel_adjust = '\x02';" (assignment_expression "fixP->fx_pcrel_adjust = '\x02'" (field_expression "fixP->fx_pcrel_adjust" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "*(uint *)&fixP->fx_offset = local_44 + 2;" (assignment_expression "*(uint *)&fixP->fx_offset = local_44 + 2" (pointer_expression "*(uint *)&fixP->fx_offset" * (cast_expression "(uint *)&fixP->fx_offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier)))) = (binary_expression "local_44 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);" (assignment_expression "*(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44)" (pointer_expression "*(uint *)((int)&fixP->fx_offset + 4)" * (cast_expression "(uint *)((int)&fixP->fx_offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fixP->fx_offset + 4)" ( (binary_expression "(int)&fixP->fx_offset + 4" (cast_expression "(int)&fixP->fx_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_40 + (0xfffffffd < local_44)" identifier + (parenthesized_expression "(0xfffffffd < local_44)" ( (binary_expression "0xfffffffd < local_44" number_literal < identifier) )))) ;) (return_statement "return;" return ;) })) (expression_statement "fixP->fx_r_type = BFD_RELOC_16;" (assignment_expression "fixP->fx_r_type = BFD_RELOC_16" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }" if (parenthesized_expression "((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "(piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(piVar1[1] == 0x20)" ( (binary_expression "piVar1[1] == 0x20" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        fixP->fx_r_type = BFD_RELOC_390_PC16DBL;\n        fixP->fx_where = fixP->fx_where + 4;\n        *(uint *)&fixP->fx_offset = local_44 + 4;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);\n        fixP->fx_pcrel_adjust = '\x04';\n        fixP->fx_size = '\x02';\n        return;\n      }" { (expression_statement "fixP->fx_r_type = BFD_RELOC_390_PC16DBL;" (assignment_expression "fixP->fx_r_type = BFD_RELOC_390_PC16DBL" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (expression_statement "fixP->fx_where = fixP->fx_where + 4;" (assignment_expression "fixP->fx_where = fixP->fx_where + 4" (field_expression "fixP->fx_where" identifier -> field_identifier) = (binary_expression "fixP->fx_where + 4" (field_expression "fixP->fx_where" identifier -> field_identifier) + number_literal)) ;) (expression_statement "*(uint *)&fixP->fx_offset = local_44 + 4;" (assignment_expression "*(uint *)&fixP->fx_offset = local_44 + 4" (pointer_expression "*(uint *)&fixP->fx_offset" * (cast_expression "(uint *)&fixP->fx_offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier)))) = (binary_expression "local_44 + 4" identifier + number_literal)) ;) (expression_statement "*(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44);" (assignment_expression "*(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffb < local_44)" (pointer_expression "*(uint *)((int)&fixP->fx_offset + 4)" * (cast_expression "(uint *)((int)&fixP->fx_offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fixP->fx_offset + 4)" ( (binary_expression "(int)&fixP->fx_offset + 4" (cast_expression "(int)&fixP->fx_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_40 + (0xfffffffb < local_44)" identifier + (parenthesized_expression "(0xfffffffb < local_44)" ( (binary_expression "0xfffffffb < local_44" number_literal < identifier) )))) ;) (expression_statement "fixP->fx_pcrel_adjust = '\x04';" (assignment_expression "fixP->fx_pcrel_adjust = '\x04'" (field_expression "fixP->fx_pcrel_adjust" identifier -> field_identifier) = (char_literal "'\x04'" ' escape_sequence ')) ;) (expression_statement "fixP->fx_size = '\x02';" (assignment_expression "fixP->fx_size = '\x02'" (field_expression "fixP->fx_size" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x18)" ( (binary_expression "iVar7 == 0x18" identifier == number_literal) )) (compound_statement "{\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }" { (if_statement "if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }" if (parenthesized_expression "((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "(piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(piVar1[1] == 0x18)" ( (binary_expression "piVar1[1] == 0x18" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        fixP->fx_r_type = BFD_RELOC_390_PC24DBL;\n        fixP->fx_where = fixP->fx_where + 3;\n        fixP->fx_pcrel_adjust = '\x03';\n        fixP->fx_size = '\x03';\n        *(uint *)&fixP->fx_offset = local_44 + 3;\n        *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);\n        return;\n      }" { (expression_statement "fixP->fx_r_type = BFD_RELOC_390_PC24DBL;" (assignment_expression "fixP->fx_r_type = BFD_RELOC_390_PC24DBL" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (expression_statement "fixP->fx_where = fixP->fx_where + 3;" (assignment_expression "fixP->fx_where = fixP->fx_where + 3" (field_expression "fixP->fx_where" identifier -> field_identifier) = (binary_expression "fixP->fx_where + 3" (field_expression "fixP->fx_where" identifier -> field_identifier) + number_literal)) ;) (expression_statement "fixP->fx_pcrel_adjust = '\x03';" (assignment_expression "fixP->fx_pcrel_adjust = '\x03'" (field_expression "fixP->fx_pcrel_adjust" identifier -> field_identifier) = (char_literal "'\x03'" ' escape_sequence ')) ;) (expression_statement "fixP->fx_size = '\x03';" (assignment_expression "fixP->fx_size = '\x03'" (field_expression "fixP->fx_size" identifier -> field_identifier) = (char_literal "'\x03'" ' escape_sequence ')) ;) (expression_statement "*(uint *)&fixP->fx_offset = local_44 + 3;" (assignment_expression "*(uint *)&fixP->fx_offset = local_44 + 3" (pointer_expression "*(uint *)&fixP->fx_offset" * (cast_expression "(uint *)&fixP->fx_offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier)))) = (binary_expression "local_44 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44);" (assignment_expression "*(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffc < local_44)" (pointer_expression "*(uint *)((int)&fixP->fx_offset + 4)" * (cast_expression "(uint *)((int)&fixP->fx_offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fixP->fx_offset + 4)" ( (binary_expression "(int)&fixP->fx_offset + 4" (cast_expression "(int)&fixP->fx_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_40 + (0xfffffffc < local_44)" identifier + (parenthesized_expression "(0xfffffffc < local_44)" ( (binary_expression "0xfffffffc < local_44" number_literal < identifier) )))) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "((iVar7 == 0x20) && (piVar1[1] == 0x10))" ( (binary_expression "(iVar7 == 0x20) && (piVar1[1] == 0x10)" (parenthesized_expression "(iVar7 == 0x20)" ( (binary_expression "iVar7 == 0x20" identifier == number_literal) )) && (parenthesized_expression "(piVar1[1] == 0x10)" ( (binary_expression "piVar1[1] == 0x10" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      fixP->fx_r_type = BFD_RELOC_390_PC32DBL;\n      fixP->fx_where = fixP->fx_where + 2;\n      fixP->fx_pcrel_adjust = '\x02';\n      fixP->fx_size = '\x04';\n      *(uint *)&fixP->fx_offset = local_44 + 2;\n      *(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" { (expression_statement "fixP->fx_r_type = BFD_RELOC_390_PC32DBL;" (assignment_expression "fixP->fx_r_type = BFD_RELOC_390_PC32DBL" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (expression_statement "fixP->fx_where = fixP->fx_where + 2;" (assignment_expression "fixP->fx_where = fixP->fx_where + 2" (field_expression "fixP->fx_where" identifier -> field_identifier) = (binary_expression "fixP->fx_where + 2" (field_expression "fixP->fx_where" identifier -> field_identifier) + number_literal)) ;) (expression_statement "fixP->fx_pcrel_adjust = '\x02';" (assignment_expression "fixP->fx_pcrel_adjust = '\x02'" (field_expression "fixP->fx_pcrel_adjust" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "fixP->fx_size = '\x04';" (assignment_expression "fixP->fx_size = '\x04'" (field_expression "fixP->fx_size" identifier -> field_identifier) = (char_literal "'\x04'" ' escape_sequence ')) ;) (expression_statement "*(uint *)&fixP->fx_offset = local_44 + 2;" (assignment_expression "*(uint *)&fixP->fx_offset = local_44 + 2" (pointer_expression "*(uint *)&fixP->fx_offset" * (cast_expression "(uint *)&fixP->fx_offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier)))) = (binary_expression "local_44 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44);" (assignment_expression "*(uint *)((int)&fixP->fx_offset + 4) = local_40 + (0xfffffffd < local_44)" (pointer_expression "*(uint *)((int)&fixP->fx_offset + 4)" * (cast_expression "(uint *)((int)&fixP->fx_offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fixP->fx_offset + 4)" ( (binary_expression "(int)&fixP->fx_offset + 4" (cast_expression "(int)&fixP->fx_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "local_40 + (0xfffffffd < local_44)" identifier + (parenthesized_expression "(0xfffffffd < local_44)" ( (binary_expression "0xfffffffd < local_44" number_literal < identifier) )))) ;) (return_statement "return;" return ;) })))))))))))) (expression_statement "iVar7 = expr_symbol_where(s,&sfile,&sline);" (assignment_expression "iVar7 = expr_symbol_where(s,&sfile,&sline)" identifier = (call_expression "expr_symbol_where(s,&sfile,&sline)" identifier (argument_list "(s,&sfile,&sline)" ( identifier , (pointer_expression "&sfile" & identifier) , (pointer_expression "&sline" & identifier) )))) ;) (if_statement "if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar7 = unaff_EDI + 0xe109;\n    }" { (expression_statement "iVar7 = unaff_EDI + 0xe109;" (assignment_expression "iVar7 = unaff_EDI + 0xe109" identifier = (binary_expression "unaff_EDI + 0xe109" identifier + number_literal)) ;) }) (else_clause "else {\n      iVar7 = unaff_EDI + 0xde19;\n    }" else (compound_statement "{\n      iVar7 = unaff_EDI + 0xde19;\n    }" { (expression_statement "iVar7 = unaff_EDI + 0xde19;" (assignment_expression "iVar7 = unaff_EDI + 0xde19" identifier = (binary_expression "unaff_EDI + 0xde19" identifier + number_literal)) ;) }))) (expression_statement "pcVar8 = (char *)dcgettext(0,iVar7,5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,iVar7,5)" identifier = (cast_expression "(char *)dcgettext(0,iVar7,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,iVar7,5)" identifier (argument_list "(0,iVar7,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "as_bad_where(fixP->fx_file,fixP->fx_line,pcVar8);" (call_expression "as_bad_where(fixP->fx_file,fixP->fx_line,pcVar8)" identifier (argument_list "(fixP->fx_file,fixP->fx_line,pcVar8)" ( (field_expression "fixP->fx_file" identifier -> field_identifier) , (field_expression "fixP->fx_line" identifier -> field_identifier) , identifier ))) ;) (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)) ;) (return_statement "return;" return ;) })) (if_statement "if (bVar9 < BFD_RELOC_390_GOT64) {\n    if (BFD_RELOC_390_PLT24DBL < bVar9) goto LAB_00043748;\n    if (bVar9 != BFD_RELOC_32_BASEREL) {\n      if (BFD_RELOC_32_BASEREL < bVar9) {\n        if (bVar9 < BFD_RELOC_390_PC16DBL) {\n          if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;\n          if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(pcVar8);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);\n          goto LAB_0004367e;\n        }\n        if (BFD_RELOC_390_PLT16DBL < bVar9) {\n          uVar10 = (uint)fixP->fx_pcrel_adjust;\n          bVar13 = CARRY4(local_44,uVar10);\n          local_44 = local_44 + uVar10;\n          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 2;\nLAB_00043760:\n        number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);\n        goto LAB_0004367e;\n      }\n      if (bVar9 == BFD_RELOC_64_PCREL) goto LAB_0004371b;\n      if (BFD_RELOC_64_PCREL < bVar9) {\n        if (bVar9 == BFD_RELOC_16_GOT_PCREL) {\nLAB_00043899:\n          bVar12 = *(byte *)fixP;\n          if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }\n          goto joined_r0x00043882;\n        }\n        if (bVar9 < BFD_RELOC_8_GOT_PCREL) {\n          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;\n          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;\n        }\n        else if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar12 = *(byte *)fixP;\n        goto joined_r0x000437cb;\n      }\n      if (bVar9 == BFD_RELOC_32) {\n        bVar12 = *(byte *)fixP;\n        bVar9 = BFD_RELOC_32;\n        if ((bVar12 & 1) != 0) {\n          bVar9 = BFD_RELOC_32_PCREL;\n        }\n        fixP->fx_r_type = bVar9;\n        goto joined_r0x000437cb;\n      }\n      if (BFD_RELOC_32 < bVar9) {\n        if (bVar9 == BFD_RELOC_16) goto LAB_00043899;\n        if (bVar9 != BFD_RELOC_8) goto LAB_00043958;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 1;\n        goto LAB_00043668;\n      }\n      if (bVar9 != BFD_RELOC_64) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(bVar9);\n        if (iVar7 != 0) {\n          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar8,iVar7);\n        }\n        bVar9 = fixP->fx_r_type;\n        pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar8,bVar9);\n      }\n      bVar12 = *(byte *)fixP;\n      bVar9 = BFD_RELOC_64;\n      if ((bVar12 & 1) != 0) {\n        bVar9 = BFD_RELOC_64_PCREL;\n      }\n      fixP->fx_r_type = bVar9;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    fixP->fx_r_type = BFD_RELOC_32_PCREL;\n    bVar12 = *(byte *)fixP;\njoined_r0x000437cb:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n    iVar7 = 4;\n  }\n  else {\n    if (bVar9 == BFD_RELOC_390_PLTOFF32) goto LAB_000437c8;\n    if (BFD_RELOC_390_PLTOFF32 < bVar9) {\n      if (bVar9 < BFD_RELOC_390_20) {\n        if (bVar9 < BFD_RELOC_390_TLS_LE32) {\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }\n      }\n      else if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }\n      S_SET_THREAD_LOCAL(s);\n      goto LAB_0004367e;\n    }\n    if (bVar9 == BFD_RELOC_390_GOTPLT12) goto LAB_00043d00;\n    if (bVar9 < BFD_RELOC_390_GOTPLT16) {\n      if (bVar9 == BFD_RELOC_390_GOTENT) {\nLAB_00043748:\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (bVar9 != BFD_RELOC_390_GOTPLT64) {\n      if (bVar9 < BFD_RELOC_390_GOTPLTENT) {\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar12 = *(byte *)fixP;\njoined_r0x00043882:\n      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n      iVar7 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar12 = *(byte *)fixP;\njoined_r0x0004371e:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n    iVar7 = 8;\n  }" if (parenthesized_expression "(bVar9 < BFD_RELOC_390_GOT64)" ( (binary_expression "bVar9 < BFD_RELOC_390_GOT64" identifier < identifier) )) (compound_statement "{\n    if (BFD_RELOC_390_PLT24DBL < bVar9) goto LAB_00043748;\n    if (bVar9 != BFD_RELOC_32_BASEREL) {\n      if (BFD_RELOC_32_BASEREL < bVar9) {\n        if (bVar9 < BFD_RELOC_390_PC16DBL) {\n          if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;\n          if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(pcVar8);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);\n          goto LAB_0004367e;\n        }\n        if (BFD_RELOC_390_PLT16DBL < bVar9) {\n          uVar10 = (uint)fixP->fx_pcrel_adjust;\n          bVar13 = CARRY4(local_44,uVar10);\n          local_44 = local_44 + uVar10;\n          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 2;\nLAB_00043760:\n        number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);\n        goto LAB_0004367e;\n      }\n      if (bVar9 == BFD_RELOC_64_PCREL) goto LAB_0004371b;\n      if (BFD_RELOC_64_PCREL < bVar9) {\n        if (bVar9 == BFD_RELOC_16_GOT_PCREL) {\nLAB_00043899:\n          bVar12 = *(byte *)fixP;\n          if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }\n          goto joined_r0x00043882;\n        }\n        if (bVar9 < BFD_RELOC_8_GOT_PCREL) {\n          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;\n          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;\n        }\n        else if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar12 = *(byte *)fixP;\n        goto joined_r0x000437cb;\n      }\n      if (bVar9 == BFD_RELOC_32) {\n        bVar12 = *(byte *)fixP;\n        bVar9 = BFD_RELOC_32;\n        if ((bVar12 & 1) != 0) {\n          bVar9 = BFD_RELOC_32_PCREL;\n        }\n        fixP->fx_r_type = bVar9;\n        goto joined_r0x000437cb;\n      }\n      if (BFD_RELOC_32 < bVar9) {\n        if (bVar9 == BFD_RELOC_16) goto LAB_00043899;\n        if (bVar9 != BFD_RELOC_8) goto LAB_00043958;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 1;\n        goto LAB_00043668;\n      }\n      if (bVar9 != BFD_RELOC_64) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(bVar9);\n        if (iVar7 != 0) {\n          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar8,iVar7);\n        }\n        bVar9 = fixP->fx_r_type;\n        pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar8,bVar9);\n      }\n      bVar12 = *(byte *)fixP;\n      bVar9 = BFD_RELOC_64;\n      if ((bVar12 & 1) != 0) {\n        bVar9 = BFD_RELOC_64_PCREL;\n      }\n      fixP->fx_r_type = bVar9;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    fixP->fx_r_type = BFD_RELOC_32_PCREL;\n    bVar12 = *(byte *)fixP;\njoined_r0x000437cb:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n    iVar7 = 4;\n  }" { (if_statement "if (BFD_RELOC_390_PLT24DBL < bVar9) goto LAB_00043748;" if (parenthesized_expression "(BFD_RELOC_390_PLT24DBL < bVar9)" ( (binary_expression "BFD_RELOC_390_PLT24DBL < bVar9" identifier < identifier) )) (goto_statement "goto LAB_00043748;" goto statement_identifier ;)) (if_statement "if (bVar9 != BFD_RELOC_32_BASEREL) {\n      if (BFD_RELOC_32_BASEREL < bVar9) {\n        if (bVar9 < BFD_RELOC_390_PC16DBL) {\n          if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;\n          if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(pcVar8);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);\n          goto LAB_0004367e;\n        }\n        if (BFD_RELOC_390_PLT16DBL < bVar9) {\n          uVar10 = (uint)fixP->fx_pcrel_adjust;\n          bVar13 = CARRY4(local_44,uVar10);\n          local_44 = local_44 + uVar10;\n          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 2;\nLAB_00043760:\n        number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);\n        goto LAB_0004367e;\n      }\n      if (bVar9 == BFD_RELOC_64_PCREL) goto LAB_0004371b;\n      if (BFD_RELOC_64_PCREL < bVar9) {\n        if (bVar9 == BFD_RELOC_16_GOT_PCREL) {\nLAB_00043899:\n          bVar12 = *(byte *)fixP;\n          if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }\n          goto joined_r0x00043882;\n        }\n        if (bVar9 < BFD_RELOC_8_GOT_PCREL) {\n          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;\n          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;\n        }\n        else if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar12 = *(byte *)fixP;\n        goto joined_r0x000437cb;\n      }\n      if (bVar9 == BFD_RELOC_32) {\n        bVar12 = *(byte *)fixP;\n        bVar9 = BFD_RELOC_32;\n        if ((bVar12 & 1) != 0) {\n          bVar9 = BFD_RELOC_32_PCREL;\n        }\n        fixP->fx_r_type = bVar9;\n        goto joined_r0x000437cb;\n      }\n      if (BFD_RELOC_32 < bVar9) {\n        if (bVar9 == BFD_RELOC_16) goto LAB_00043899;\n        if (bVar9 != BFD_RELOC_8) goto LAB_00043958;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 1;\n        goto LAB_00043668;\n      }\n      if (bVar9 != BFD_RELOC_64) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(bVar9);\n        if (iVar7 != 0) {\n          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar8,iVar7);\n        }\n        bVar9 = fixP->fx_r_type;\n        pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar8,bVar9);\n      }\n      bVar12 = *(byte *)fixP;\n      bVar9 = BFD_RELOC_64;\n      if ((bVar12 & 1) != 0) {\n        bVar9 = BFD_RELOC_64_PCREL;\n      }\n      fixP->fx_r_type = bVar9;\n      goto joined_r0x0004371e;\n    }" if (parenthesized_expression "(bVar9 != BFD_RELOC_32_BASEREL)" ( (binary_expression "bVar9 != BFD_RELOC_32_BASEREL" identifier != identifier) )) (compound_statement "{\n      if (BFD_RELOC_32_BASEREL < bVar9) {\n        if (bVar9 < BFD_RELOC_390_PC16DBL) {\n          if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;\n          if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(pcVar8);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);\n          goto LAB_0004367e;\n        }\n        if (BFD_RELOC_390_PLT16DBL < bVar9) {\n          uVar10 = (uint)fixP->fx_pcrel_adjust;\n          bVar13 = CARRY4(local_44,uVar10);\n          local_44 = local_44 + uVar10;\n          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 2;\nLAB_00043760:\n        number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);\n        goto LAB_0004367e;\n      }\n      if (bVar9 == BFD_RELOC_64_PCREL) goto LAB_0004371b;\n      if (BFD_RELOC_64_PCREL < bVar9) {\n        if (bVar9 == BFD_RELOC_16_GOT_PCREL) {\nLAB_00043899:\n          bVar12 = *(byte *)fixP;\n          if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }\n          goto joined_r0x00043882;\n        }\n        if (bVar9 < BFD_RELOC_8_GOT_PCREL) {\n          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;\n          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;\n        }\n        else if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar12 = *(byte *)fixP;\n        goto joined_r0x000437cb;\n      }\n      if (bVar9 == BFD_RELOC_32) {\n        bVar12 = *(byte *)fixP;\n        bVar9 = BFD_RELOC_32;\n        if ((bVar12 & 1) != 0) {\n          bVar9 = BFD_RELOC_32_PCREL;\n        }\n        fixP->fx_r_type = bVar9;\n        goto joined_r0x000437cb;\n      }\n      if (BFD_RELOC_32 < bVar9) {\n        if (bVar9 == BFD_RELOC_16) goto LAB_00043899;\n        if (bVar9 != BFD_RELOC_8) goto LAB_00043958;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 1;\n        goto LAB_00043668;\n      }\n      if (bVar9 != BFD_RELOC_64) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(bVar9);\n        if (iVar7 != 0) {\n          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar8,iVar7);\n        }\n        bVar9 = fixP->fx_r_type;\n        pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar8,bVar9);\n      }\n      bVar12 = *(byte *)fixP;\n      bVar9 = BFD_RELOC_64;\n      if ((bVar12 & 1) != 0) {\n        bVar9 = BFD_RELOC_64_PCREL;\n      }\n      fixP->fx_r_type = bVar9;\n      goto joined_r0x0004371e;\n    }" { (if_statement "if (BFD_RELOC_32_BASEREL < bVar9) {\n        if (bVar9 < BFD_RELOC_390_PC16DBL) {\n          if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;\n          if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(pcVar8);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);\n          goto LAB_0004367e;\n        }\n        if (BFD_RELOC_390_PLT16DBL < bVar9) {\n          uVar10 = (uint)fixP->fx_pcrel_adjust;\n          bVar13 = CARRY4(local_44,uVar10);\n          local_44 = local_44 + uVar10;\n          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 2;\nLAB_00043760:\n        number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);\n        goto LAB_0004367e;\n      }" if (parenthesized_expression "(BFD_RELOC_32_BASEREL < bVar9)" ( (binary_expression "BFD_RELOC_32_BASEREL < bVar9" identifier < identifier) )) (compound_statement "{\n        if (bVar9 < BFD_RELOC_390_PC16DBL) {\n          if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;\n          if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(pcVar8);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);\n          goto LAB_0004367e;\n        }\n        if (BFD_RELOC_390_PLT16DBL < bVar9) {\n          uVar10 = (uint)fixP->fx_pcrel_adjust;\n          bVar13 = CARRY4(local_44,uVar10);\n          local_44 = local_44 + uVar10;\n          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 2;\nLAB_00043760:\n        number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);\n        goto LAB_0004367e;\n      }" { (if_statement "if (bVar9 < BFD_RELOC_390_PC16DBL) {\n          if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;\n          if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(pcVar8);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);\n          goto LAB_0004367e;\n        }" if (parenthesized_expression "(bVar9 < BFD_RELOC_390_PC16DBL)" ( (binary_expression "bVar9 < BFD_RELOC_390_PC16DBL" identifier < identifier) )) (compound_statement "{\n          if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;\n          if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(pcVar8);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);\n          goto LAB_0004367e;\n        }" { (if_statement "if (bVar9 < BFD_RELOC_390_PC12DBL) {\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }" if (parenthesized_expression "(bVar9 < BFD_RELOC_390_PC12DBL)" ( (binary_expression "bVar9 < BFD_RELOC_390_PC12DBL" identifier < identifier) )) (compound_statement "{\n            if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }" { (if_statement "if (BFD_RELOC_390_GOT12 < bVar9) {\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }" if (parenthesized_expression "(BFD_RELOC_390_GOT12 < bVar9)" ( (binary_expression "BFD_RELOC_390_GOT12 < bVar9" identifier < identifier) )) (compound_statement "{\n              if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }" { (if_statement "if (bVar9 != BFD_RELOC_390_PLT32) {\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }" if (parenthesized_expression "(bVar9 != BFD_RELOC_390_PLT32)" ( (binary_expression "bVar9 != BFD_RELOC_390_PLT32" identifier != identifier) )) (compound_statement "{\n                if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;\n                goto LAB_0004387f;\n              }" { (if_statement "if (bVar9 != BFD_RELOC_390_GOT16) goto LAB_00043958;" if (parenthesized_expression "(bVar9 != BFD_RELOC_390_GOT16)" ( (binary_expression "bVar9 != BFD_RELOC_390_GOT16" identifier != identifier) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_0004387f;" goto statement_identifier ;) })) (goto_statement "goto LAB_000437c8;" goto statement_identifier ;) })) (if_statement "if (bVar9 < BFD_RELOC_390_12) {\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }" if (parenthesized_expression "(bVar9 < BFD_RELOC_390_12)" ( (binary_expression "bVar9 < BFD_RELOC_390_12" identifier < identifier) )) (compound_statement "{\n              if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;\n              goto LAB_00043899;\n            }" { (if_statement "if (bVar9 != BFD_RELOC_GPREL16) goto LAB_00043958;" if (parenthesized_expression "(bVar9 != BFD_RELOC_GPREL16)" ( (binary_expression "bVar9 != BFD_RELOC_GPREL16" identifier != identifier) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_00043899;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00043d00:\n          bVar12 = *(byte *)fixP & 0x20;" statement_identifier : (expression_statement "bVar12 = *(byte *)fixP & 0x20;" (assignment_expression "bVar12 = *(byte *)fixP & 0x20" 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)) ;)) (if_statement "if ((*(byte *)fixP & 1) == 0) {\n            if (bVar12 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" if (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            if (bVar12 == 0) goto LAB_0004367e;\n          }" { (if_statement "if (bVar12 == 0) goto LAB_0004367e;" if (parenthesized_expression "(bVar12 == 0)" ( (binary_expression "bVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) }) (else_clause "else {\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" else (compound_statement "{\n            uVar10 = (uint)fixP->fx_pcrel_adjust;\n            bVar13 = CARRY4(local_44,uVar10);\n            local_44 = local_44 + uVar10;\n            local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n            if (bVar12 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" { (expression_statement "uVar10 = (uint)fixP->fx_pcrel_adjust;" (assignment_expression "uVar10 = (uint)fixP->fx_pcrel_adjust" identifier = (cast_expression "(uint)fixP->fx_pcrel_adjust" ( (type_descriptor "uint" type_identifier) ) (field_expression "fixP->fx_pcrel_adjust" identifier -> field_identifier))) ;) (expression_statement "bVar13 = CARRY4(local_44,uVar10);" (assignment_expression "bVar13 = CARRY4(local_44,uVar10)" identifier = (call_expression "CARRY4(local_44,uVar10)" identifier (argument_list "(local_44,uVar10)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar10;" (assignment_expression "local_44 = local_44 + uVar10" identifier = (binary_expression "local_44 + uVar10" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;" (assignment_expression "local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13" identifier = (binary_expression "local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13" (binary_expression "local_40 + ((int)uVar10 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar10 >> 0x1f)" ( (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (bVar12 == 0) goto LAB_0004367e;" if (parenthesized_expression "(bVar12 == 0)" ( (binary_expression "bVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "local_44 = local_44 >> 1 | local_40 * -0x80000000;" (assignment_expression "local_44 = local_44 >> 1 | local_40 * -0x80000000" identifier = (binary_expression "local_44 >> 1 | local_40 * -0x80000000" (binary_expression "local_44 >> 1" identifier >> number_literal) | (binary_expression "local_40 * -0x80000000" identifier * number_literal))) ;) (expression_statement "local_40 = local_40 >> 1;" (assignment_expression "local_40 = local_40 >> 1" identifier = (binary_expression "local_40 >> 1" identifier >> number_literal)) ;) }))) (expression_statement "uVar3 = bfd_getb16(pcVar8);" (assignment_expression "uVar3 = bfd_getb16(pcVar8)" identifier = (call_expression "bfd_getb16(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8);" (call_expression "bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,pcVar8)" identifier (argument_list "((ushort)local_44 & 0xfff | uVar3,0,pcVar8)" ( (binary_expression "(ushort)local_44 & 0xfff | uVar3" (binary_expression "(ushort)local_44 & 0xfff" (cast_expression "(ushort)local_44" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) | identifier) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (BFD_RELOC_390_PLT16DBL < bVar9) {\n          uVar10 = (uint)fixP->fx_pcrel_adjust;\n          bVar13 = CARRY4(local_44,uVar10);\n          local_44 = local_44 + uVar10;\n          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }\n          goto LAB_0004367e;\n        }" if (parenthesized_expression "(BFD_RELOC_390_PLT16DBL < bVar9)" ( (binary_expression "BFD_RELOC_390_PLT16DBL < bVar9" identifier < identifier) )) (compound_statement "{\n          uVar10 = (uint)fixP->fx_pcrel_adjust;\n          bVar13 = CARRY4(local_44,uVar10);\n          local_44 = local_44 + uVar10;\n          local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n          if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }\n          goto LAB_0004367e;\n        }" { (expression_statement "uVar10 = (uint)fixP->fx_pcrel_adjust;" (assignment_expression "uVar10 = (uint)fixP->fx_pcrel_adjust" identifier = (cast_expression "(uint)fixP->fx_pcrel_adjust" ( (type_descriptor "uint" type_identifier) ) (field_expression "fixP->fx_pcrel_adjust" identifier -> field_identifier))) ;) (expression_statement "bVar13 = CARRY4(local_44,uVar10);" (assignment_expression "bVar13 = CARRY4(local_44,uVar10)" identifier = (call_expression "CARRY4(local_44,uVar10)" identifier (argument_list "(local_44,uVar10)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar10;" (assignment_expression "local_44 = local_44 + uVar10" identifier = (binary_expression "local_44 + uVar10" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;" (assignment_expression "local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13" identifier = (binary_expression "local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13" (binary_expression "local_40 + ((int)uVar10 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar10 >> 0x1f)" ( (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0) {\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }" if (parenthesized_expression "((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0)" ( (binary_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n              (undefined1  [68])0x0" (call_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20)" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) (argument_list "((undefined1  [68])*fixP & (undefined1  [68])0x20)" ( (binary_expression "(undefined1  [68])*fixP & (undefined1  [68])0x20" (binary_expression "(undefined1  [68])*fixP" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [68])0x20" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) ))) != (cast_expression "(undefined1  [68])0x0" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n            uVar10 = local_44 >> 1;\n            local_44 = uVar10 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar11 = bfd_getb32(pcVar8 + -1);\n            bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);\n          }" { (expression_statement "uVar10 = local_44 >> 1;" (assignment_expression "uVar10 = local_44 >> 1" identifier = (binary_expression "local_44 >> 1" identifier >> number_literal)) ;) (expression_statement "local_44 = uVar10 | local_40 * -0x80000000;" (assignment_expression "local_44 = uVar10 | local_40 * -0x80000000" identifier = (binary_expression "uVar10 | local_40 * -0x80000000" identifier | (binary_expression "local_40 * -0x80000000" identifier * number_literal))) ;) (expression_statement "local_40 = local_40 >> 1;" (assignment_expression "local_40 = local_40 >> 1" identifier = (binary_expression "local_40 >> 1" identifier >> number_literal)) ;) (expression_statement "uVar11 = bfd_getb32(pcVar8 + -1);" (assignment_expression "uVar11 = bfd_getb32(pcVar8 + -1)" identifier = (call_expression "bfd_getb32(pcVar8 + -1)" identifier (argument_list "(pcVar8 + -1)" ( (binary_expression "pcVar8 + -1" identifier + number_literal) )))) ;) (expression_statement "bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1);" (call_expression "bfd_putb32(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1)" identifier (argument_list "(uVar11 | uVar10 & 0xffffff,0,pcVar8 + -1)" ( (binary_expression "uVar11 | uVar10 & 0xffffff" identifier | (binary_expression "uVar10 & 0xffffff" identifier & number_literal)) , number_literal , (binary_expression "pcVar8 + -1" identifier + number_literal) ))) ;) })) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (expression_statement "uVar10 = (uint)fixP->fx_pcrel_adjust;" (assignment_expression "uVar10 = (uint)fixP->fx_pcrel_adjust" identifier = (cast_expression "(uint)fixP->fx_pcrel_adjust" ( (type_descriptor "uint" type_identifier) ) (field_expression "fixP->fx_pcrel_adjust" identifier -> field_identifier))) ;) (expression_statement "bVar13 = CARRY4(local_44,uVar10);" (assignment_expression "bVar13 = CARRY4(local_44,uVar10)" identifier = (call_expression "CARRY4(local_44,uVar10)" identifier (argument_list "(local_44,uVar10)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar10;" (assignment_expression "local_44 = local_44 + uVar10" identifier = (binary_expression "local_44 + uVar10" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;" (assignment_expression "local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13" identifier = (binary_expression "local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13" (binary_expression "local_40 + ((int)uVar10 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar10 >> 0x1f)" ( (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;" if (parenthesized_expression "((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0)" ( (binary_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0" (call_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20)" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) (argument_list "((undefined1  [68])*fixP & (undefined1  [68])0x20)" ( (binary_expression "(undefined1  [68])*fixP & (undefined1  [68])0x20" (binary_expression "(undefined1  [68])*fixP" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [68])0x20" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [68])0x0" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) (labeled_statement "LAB_00043760:\n        number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);" statement_identifier : (expression_statement "number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7);" (call_expression "number_to_chars_bigendian\n                  (pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7)" identifier (argument_list "(pcVar8,CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f),iVar7)" ( identifier , (call_expression "CONCAT44((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f)" identifier (argument_list "((int)local_40 >> 1,local_44 >> 1 | local_40 << 0x1f)" ( (binary_expression "(int)local_40 >> 1" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) , (binary_expression "local_44 >> 1 | local_40 << 0x1f" (binary_expression "local_44 >> 1" identifier >> number_literal) | (binary_expression "local_40 << 0x1f" identifier << number_literal)) ))) , identifier ))) ;)) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (bVar9 == BFD_RELOC_64_PCREL) goto LAB_0004371b;" if (parenthesized_expression "(bVar9 == BFD_RELOC_64_PCREL)" ( (binary_expression "bVar9 == BFD_RELOC_64_PCREL" identifier == identifier) )) (goto_statement "goto LAB_0004371b;" goto statement_identifier ;)) (if_statement "if (BFD_RELOC_64_PCREL < bVar9) {\n        if (bVar9 == BFD_RELOC_16_GOT_PCREL) {\nLAB_00043899:\n          bVar12 = *(byte *)fixP;\n          if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }\n          goto joined_r0x00043882;\n        }\n        if (bVar9 < BFD_RELOC_8_GOT_PCREL) {\n          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;\n          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;\n        }\n        else if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar12 = *(byte *)fixP;\n        goto joined_r0x000437cb;\n      }" if (parenthesized_expression "(BFD_RELOC_64_PCREL < bVar9)" ( (binary_expression "BFD_RELOC_64_PCREL < bVar9" identifier < identifier) )) (compound_statement "{\n        if (bVar9 == BFD_RELOC_16_GOT_PCREL) {\nLAB_00043899:\n          bVar12 = *(byte *)fixP;\n          if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }\n          goto joined_r0x00043882;\n        }\n        if (bVar9 < BFD_RELOC_8_GOT_PCREL) {\n          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;\n          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;\n        }\n        else if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar12 = *(byte *)fixP;\n        goto joined_r0x000437cb;\n      }" { (if_statement "if (bVar9 == BFD_RELOC_16_GOT_PCREL) {\nLAB_00043899:\n          bVar12 = *(byte *)fixP;\n          if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }\n          goto joined_r0x00043882;\n        }" if (parenthesized_expression "(bVar9 == BFD_RELOC_16_GOT_PCREL)" ( (binary_expression "bVar9 == BFD_RELOC_16_GOT_PCREL" identifier == identifier) )) (compound_statement "{\nLAB_00043899:\n          bVar12 = *(byte *)fixP;\n          if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }\n          goto joined_r0x00043882;\n        }" { (labeled_statement "LAB_00043899:\n          bVar12 = *(byte *)fixP;" statement_identifier : (expression_statement "bVar12 = *(byte *)fixP;" (assignment_expression "bVar12 = *(byte *)fixP" identifier = (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (if_statement "if ((bVar12 & 1) != 0) {\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }" if (parenthesized_expression "((bVar12 & 1) != 0)" ( (binary_expression "(bVar12 & 1) != 0" (parenthesized_expression "(bVar12 & 1)" ( (binary_expression "bVar12 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }\n            uVar5 = bfd_get_reloc_code_name(bVar9);\n            format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);\n            as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);\n            bVar12 = *(byte *)fixP;\n          }" { (if_statement "if (s == (symbolS *)0x0) {\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }\n            else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }" if (parenthesized_expression "(s == (symbolS *)0x0)" ( (binary_expression "s == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar4 = (char *)(unaff_EDI + 0x967e);\n              pcVar6 = pcVar4;\n            }" { (expression_statement "pcVar4 = (char *)(unaff_EDI + 0x967e);" (assignment_expression "pcVar4 = (char *)(unaff_EDI + 0x967e)" identifier = (cast_expression "(char *)(unaff_EDI + 0x967e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x967e)" ( (binary_expression "unaff_EDI + 0x967e" identifier + number_literal) )))) ;) (expression_statement "pcVar6 = pcVar4;" (assignment_expression "pcVar6 = pcVar4" identifier = identifier) ;) }) (else_clause "else {\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }" else (compound_statement "{\n              pcVar6 = S_GET_NAME(s);\n              bVar9 = fixP->fx_r_type;\n              if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }\n            }" { (expression_statement "pcVar6 = S_GET_NAME(s);" (assignment_expression "pcVar6 = S_GET_NAME(s)" identifier = (call_expression "S_GET_NAME(s)" identifier (argument_list "(s)" ( identifier )))) ;) (expression_statement "bVar9 = fixP->fx_r_type;" (assignment_expression "bVar9 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (if_statement "if (fixP->fx_addsy == (symbolS *)0x0) {\n                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }\n              else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\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                pcVar4 = (char *)(unaff_EDI + 0x967e);\n              }" { (expression_statement "pcVar4 = (char *)(unaff_EDI + 0x967e);" (assignment_expression "pcVar4 = (char *)(unaff_EDI + 0x967e)" identifier = (cast_expression "(char *)(unaff_EDI + 0x967e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x967e)" ( (binary_expression "unaff_EDI + 0x967e" identifier + number_literal) )))) ;) }) (else_clause "else {\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }" else (compound_statement "{\n                pcVar4 = (char *)(unaff_EDI + 0xe0ff);\n              }" { (expression_statement "pcVar4 = (char *)(unaff_EDI + 0xe0ff);" (assignment_expression "pcVar4 = (char *)(unaff_EDI + 0xe0ff)" identifier = (cast_expression "(char *)(unaff_EDI + 0xe0ff)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0xe0ff)" ( (binary_expression "unaff_EDI + 0xe0ff" identifier + number_literal) )))) ;) }))) }))) (expression_statement "uVar5 = bfd_get_reloc_code_name(bVar9);" (assignment_expression "uVar5 = bfd_get_reloc_code_name(bVar9)" identifier = (call_expression "bfd_get_reloc_code_name(bVar9)" identifier (argument_list "(bVar9)" ( identifier )))) ;) (expression_statement "format = (char *)dcgettext(0,unaff_EDI + 0xde45,5);" (assignment_expression "format = (char *)dcgettext(0,unaff_EDI + 0xde45,5)" identifier = (cast_expression "(char *)dcgettext(0,unaff_EDI + 0xde45,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,unaff_EDI + 0xde45,5)" identifier (argument_list "(0,unaff_EDI + 0xde45,5)" ( number_literal , (binary_expression "unaff_EDI + 0xde45" identifier + number_literal) , number_literal ))))) ;) (expression_statement "as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6);" (call_expression "as_bad_where(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6)" identifier (argument_list "(fixP->fx_file,fixP->fx_line,format,uVar5,pcVar4,pcVar6)" ( (field_expression "fixP->fx_file" identifier -> field_identifier) , (field_expression "fixP->fx_line" identifier -> field_identifier) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "bVar12 = *(byte *)fixP;" (assignment_expression "bVar12 = *(byte *)fixP" identifier = (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (goto_statement "goto joined_r0x00043882;" goto statement_identifier ;) })) (if_statement "if (bVar9 < BFD_RELOC_8_GOT_PCREL) {\n          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;\n          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;\n        }\n        else if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }" if (parenthesized_expression "(bVar9 < BFD_RELOC_8_GOT_PCREL)" ( (binary_expression "bVar9 < BFD_RELOC_8_GOT_PCREL" identifier < identifier) )) (compound_statement "{\n          if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;\n          if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;\n        }" { (if_statement "if (bVar9 == BFD_RELOC_32_PCREL) goto LAB_00043995;" if (parenthesized_expression "(bVar9 == BFD_RELOC_32_PCREL)" ( (binary_expression "bVar9 == BFD_RELOC_32_PCREL" identifier == identifier) )) (goto_statement "goto LAB_00043995;" goto statement_identifier ;)) (if_statement "if (bVar9 != BFD_RELOC_32_GOT_PCREL) goto LAB_00043958;" if (parenthesized_expression "(bVar9 != BFD_RELOC_32_GOT_PCREL)" ( (binary_expression "bVar9 != BFD_RELOC_32_GOT_PCREL" identifier != identifier) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) }) (else_clause "else if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }" else (if_statement "if (bVar9 != BFD_RELOC_32_GOTOFF) {\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }" if (parenthesized_expression "(bVar9 != BFD_RELOC_32_GOTOFF)" ( (binary_expression "bVar9 != BFD_RELOC_32_GOTOFF" identifier != identifier) )) (compound_statement "{\n          if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;\n          goto LAB_00043899;\n        }" { (if_statement "if (bVar9 != BFD_RELOC_16_GOTOFF) goto LAB_00043958;" if (parenthesized_expression "(bVar9 != BFD_RELOC_16_GOTOFF)" ( (binary_expression "bVar9 != BFD_RELOC_16_GOTOFF" identifier != identifier) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_00043899;" goto statement_identifier ;) })))) (labeled_statement "LAB_000437c8:\n        bVar12 = *(byte *)fixP;" statement_identifier : (expression_statement "bVar12 = *(byte *)fixP;" (assignment_expression "bVar12 = *(byte *)fixP" identifier = (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (goto_statement "goto joined_r0x000437cb;" goto statement_identifier ;) })) (if_statement "if (bVar9 == BFD_RELOC_32) {\n        bVar12 = *(byte *)fixP;\n        bVar9 = BFD_RELOC_32;\n        if ((bVar12 & 1) != 0) {\n          bVar9 = BFD_RELOC_32_PCREL;\n        }\n        fixP->fx_r_type = bVar9;\n        goto joined_r0x000437cb;\n      }" if (parenthesized_expression "(bVar9 == BFD_RELOC_32)" ( (binary_expression "bVar9 == BFD_RELOC_32" identifier == identifier) )) (compound_statement "{\n        bVar12 = *(byte *)fixP;\n        bVar9 = BFD_RELOC_32;\n        if ((bVar12 & 1) != 0) {\n          bVar9 = BFD_RELOC_32_PCREL;\n        }\n        fixP->fx_r_type = bVar9;\n        goto joined_r0x000437cb;\n      }" { (expression_statement "bVar12 = *(byte *)fixP;" (assignment_expression "bVar12 = *(byte *)fixP" identifier = (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "bVar9 = BFD_RELOC_32;" (assignment_expression "bVar9 = BFD_RELOC_32" identifier = identifier) ;) (if_statement "if ((bVar12 & 1) != 0) {\n          bVar9 = BFD_RELOC_32_PCREL;\n        }" if (parenthesized_expression "((bVar12 & 1) != 0)" ( (binary_expression "(bVar12 & 1) != 0" (parenthesized_expression "(bVar12 & 1)" ( (binary_expression "bVar12 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          bVar9 = BFD_RELOC_32_PCREL;\n        }" { (expression_statement "bVar9 = BFD_RELOC_32_PCREL;" (assignment_expression "bVar9 = BFD_RELOC_32_PCREL" identifier = identifier) ;) })) (expression_statement "fixP->fx_r_type = bVar9;" (assignment_expression "fixP->fx_r_type = bVar9" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (goto_statement "goto joined_r0x000437cb;" goto statement_identifier ;) })) (if_statement "if (BFD_RELOC_32 < bVar9) {\n        if (bVar9 == BFD_RELOC_16) goto LAB_00043899;\n        if (bVar9 != BFD_RELOC_8) goto LAB_00043958;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 1;\n        goto LAB_00043668;\n      }" if (parenthesized_expression "(BFD_RELOC_32 < bVar9)" ( (binary_expression "BFD_RELOC_32 < bVar9" identifier < identifier) )) (compound_statement "{\n        if (bVar9 == BFD_RELOC_16) goto LAB_00043899;\n        if (bVar9 != BFD_RELOC_8) goto LAB_00043958;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 1;\n        goto LAB_00043668;\n      }" { (if_statement "if (bVar9 == BFD_RELOC_16) goto LAB_00043899;" if (parenthesized_expression "(bVar9 == BFD_RELOC_16)" ( (binary_expression "bVar9 == BFD_RELOC_16" identifier == identifier) )) (goto_statement "goto LAB_00043899;" goto statement_identifier ;)) (if_statement "if (bVar9 != BFD_RELOC_8) goto LAB_00043958;" if (parenthesized_expression "(bVar9 != BFD_RELOC_8)" ( (binary_expression "bVar9 != BFD_RELOC_8" identifier != identifier) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (if_statement "if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));\n        }" if (parenthesized_expression "((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0)" ( (binary_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1) !=\n            (undefined1  [68])0x0" (call_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x1)" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) (argument_list "((undefined1  [68])*fixP & (undefined1  [68])0x1)" ( (binary_expression "(undefined1  [68])*fixP & (undefined1  [68])0x1" (binary_expression "(undefined1  [68])*fixP" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [68])0x1" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) ))) != (cast_expression "(undefined1  [68])0x0" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));\n        }" { comment (expression_statement "as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1));" (call_expression "as_abort((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1))" identifier (argument_list "((char *)(unaff_EDI + 0xde95),0x94b,(char *)(unaff_EDI + 0xe3b1))" ( (cast_expression "(char *)(unaff_EDI + 0xde95)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0xde95)" ( (binary_expression "unaff_EDI + 0xde95" identifier + number_literal) ))) , number_literal , (cast_expression "(char *)(unaff_EDI + 0xe3b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0xe3b1)" ( (binary_expression "unaff_EDI + 0xe3b1" identifier + number_literal) ))) ))) ;) })) (if_statement "if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;" if (parenthesized_expression "((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0)" ( (binary_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0" (call_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20)" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) (argument_list "((undefined1  [68])*fixP & (undefined1  [68])0x20)" ( (binary_expression "(undefined1  [68])*fixP & (undefined1  [68])0x20" (binary_expression "(undefined1  [68])*fixP" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [68])0x20" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [68])0x0" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00043668;" goto statement_identifier ;) })) (if_statement "if (bVar9 != BFD_RELOC_64) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(bVar9);\n        if (iVar7 != 0) {\n          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar8,iVar7);\n        }\n        bVar9 = fixP->fx_r_type;\n        pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar8,bVar9);\n      }" if (parenthesized_expression "(bVar9 != BFD_RELOC_64)" ( (binary_expression "bVar9 != BFD_RELOC_64" identifier != identifier) )) (compound_statement "{\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(bVar9);\n        if (iVar7 != 0) {\n          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar8,iVar7);\n        }\n        bVar9 = fixP->fx_r_type;\n        pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5);\n                    /* WARNING: Subroutine does not return */\n        as_fatal(pcVar8,bVar9);\n      }" { (labeled_statement "LAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(bVar9);" statement_identifier : (expression_statement "iVar7 = bfd_get_reloc_code_name(bVar9);" (assignment_expression "iVar7 = bfd_get_reloc_code_name(bVar9)" identifier = (call_expression "bfd_get_reloc_code_name(bVar9)" identifier (argument_list "(bVar9)" ( identifier )))) ;)) (if_statement "if (iVar7 != 0) {\n          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar8,iVar7);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar8,iVar7);\n        }" { (expression_statement "pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe125,5)" identifier = (cast_expression "(char *)dcgettext(0,unaff_EDI + 0xe125,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,unaff_EDI + 0xe125,5)" identifier (argument_list "(0,unaff_EDI + 0xe125,5)" ( number_literal , (binary_expression "unaff_EDI + 0xe125" identifier + number_literal) , number_literal ))))) ;) comment (expression_statement "as_fatal(pcVar8,iVar7);" (call_expression "as_fatal(pcVar8,iVar7)" identifier (argument_list "(pcVar8,iVar7)" ( identifier , identifier ))) ;) })) (expression_statement "bVar9 = fixP->fx_r_type;" (assignment_expression "bVar9 = fixP->fx_r_type" identifier = (field_expression "fixP->fx_r_type" identifier -> field_identifier)) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,unaff_EDI + 0xe141,5)" identifier = (cast_expression "(char *)dcgettext(0,unaff_EDI + 0xe141,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,unaff_EDI + 0xe141,5)" identifier (argument_list "(0,unaff_EDI + 0xe141,5)" ( number_literal , (binary_expression "unaff_EDI + 0xe141" identifier + number_literal) , number_literal ))))) ;) comment (expression_statement "as_fatal(pcVar8,bVar9);" (call_expression "as_fatal(pcVar8,bVar9)" identifier (argument_list "(pcVar8,bVar9)" ( identifier , identifier ))) ;) })) (expression_statement "bVar12 = *(byte *)fixP;" (assignment_expression "bVar12 = *(byte *)fixP" identifier = (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "bVar9 = BFD_RELOC_64;" (assignment_expression "bVar9 = BFD_RELOC_64" identifier = identifier) ;) (if_statement "if ((bVar12 & 1) != 0) {\n        bVar9 = BFD_RELOC_64_PCREL;\n      }" if (parenthesized_expression "((bVar12 & 1) != 0)" ( (binary_expression "(bVar12 & 1) != 0" (parenthesized_expression "(bVar12 & 1)" ( (binary_expression "bVar12 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        bVar9 = BFD_RELOC_64_PCREL;\n      }" { (expression_statement "bVar9 = BFD_RELOC_64_PCREL;" (assignment_expression "bVar9 = BFD_RELOC_64_PCREL" identifier = identifier) ;) })) (expression_statement "fixP->fx_r_type = bVar9;" (assignment_expression "fixP->fx_r_type = bVar9" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;) (goto_statement "goto joined_r0x0004371e;" goto statement_identifier ;) })) (labeled_statement "LAB_00043995:\n    fixP->fx_r_type = BFD_RELOC_32_PCREL;" statement_identifier : (expression_statement "fixP->fx_r_type = BFD_RELOC_32_PCREL;" (assignment_expression "fixP->fx_r_type = BFD_RELOC_32_PCREL" (field_expression "fixP->fx_r_type" identifier -> field_identifier) = identifier) ;)) (expression_statement "bVar12 = *(byte *)fixP;" (assignment_expression "bVar12 = *(byte *)fixP" identifier = (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "joined_r0x000437cb:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;" statement_identifier : (if_statement "if ((bVar12 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((bVar12 & 0x20) == 0)" ( (binary_expression "(bVar12 & 0x20) == 0" (parenthesized_expression "(bVar12 & 0x20)" ( (binary_expression "bVar12 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;))) (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) }) (else_clause "else {\n    if (bVar9 == BFD_RELOC_390_PLTOFF32) goto LAB_000437c8;\n    if (BFD_RELOC_390_PLTOFF32 < bVar9) {\n      if (bVar9 < BFD_RELOC_390_20) {\n        if (bVar9 < BFD_RELOC_390_TLS_LE32) {\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }\n      }\n      else if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }\n      S_SET_THREAD_LOCAL(s);\n      goto LAB_0004367e;\n    }\n    if (bVar9 == BFD_RELOC_390_GOTPLT12) goto LAB_00043d00;\n    if (bVar9 < BFD_RELOC_390_GOTPLT16) {\n      if (bVar9 == BFD_RELOC_390_GOTENT) {\nLAB_00043748:\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (bVar9 != BFD_RELOC_390_GOTPLT64) {\n      if (bVar9 < BFD_RELOC_390_GOTPLTENT) {\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar12 = *(byte *)fixP;\njoined_r0x00043882:\n      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n      iVar7 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar12 = *(byte *)fixP;\njoined_r0x0004371e:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n    iVar7 = 8;\n  }" else (compound_statement "{\n    if (bVar9 == BFD_RELOC_390_PLTOFF32) goto LAB_000437c8;\n    if (BFD_RELOC_390_PLTOFF32 < bVar9) {\n      if (bVar9 < BFD_RELOC_390_20) {\n        if (bVar9 < BFD_RELOC_390_TLS_LE32) {\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }\n      }\n      else if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }\n      S_SET_THREAD_LOCAL(s);\n      goto LAB_0004367e;\n    }\n    if (bVar9 == BFD_RELOC_390_GOTPLT12) goto LAB_00043d00;\n    if (bVar9 < BFD_RELOC_390_GOTPLT16) {\n      if (bVar9 == BFD_RELOC_390_GOTENT) {\nLAB_00043748:\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (bVar9 != BFD_RELOC_390_GOTPLT64) {\n      if (bVar9 < BFD_RELOC_390_GOTPLTENT) {\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar12 = *(byte *)fixP;\njoined_r0x00043882:\n      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n      iVar7 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar12 = *(byte *)fixP;\njoined_r0x0004371e:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n    iVar7 = 8;\n  }" { (if_statement "if (bVar9 == BFD_RELOC_390_PLTOFF32) goto LAB_000437c8;" if (parenthesized_expression "(bVar9 == BFD_RELOC_390_PLTOFF32)" ( (binary_expression "bVar9 == BFD_RELOC_390_PLTOFF32" identifier == identifier) )) (goto_statement "goto LAB_000437c8;" goto statement_identifier ;)) (if_statement "if (BFD_RELOC_390_PLTOFF32 < bVar9) {\n      if (bVar9 < BFD_RELOC_390_20) {\n        if (bVar9 < BFD_RELOC_390_TLS_LE32) {\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }\n      }\n      else if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }\n      S_SET_THREAD_LOCAL(s);\n      goto LAB_0004367e;\n    }" if (parenthesized_expression "(BFD_RELOC_390_PLTOFF32 < bVar9)" ( (binary_expression "BFD_RELOC_390_PLTOFF32 < bVar9" identifier < identifier) )) (compound_statement "{\n      if (bVar9 < BFD_RELOC_390_20) {\n        if (bVar9 < BFD_RELOC_390_TLS_LE32) {\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }\n      }\n      else if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }\n      S_SET_THREAD_LOCAL(s);\n      goto LAB_0004367e;\n    }" { (if_statement "if (bVar9 < BFD_RELOC_390_20) {\n        if (bVar9 < BFD_RELOC_390_TLS_LE32) {\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }\n      }\n      else if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }" if (parenthesized_expression "(bVar9 < BFD_RELOC_390_20)" ( (binary_expression "bVar9 < BFD_RELOC_390_20" identifier < identifier) )) (compound_statement "{\n        if (bVar9 < BFD_RELOC_390_TLS_LE32) {\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }\n      }" { (if_statement "if (bVar9 < BFD_RELOC_390_TLS_LE32) {\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }" if (parenthesized_expression "(bVar9 < BFD_RELOC_390_TLS_LE32)" ( (binary_expression "bVar9 < BFD_RELOC_390_TLS_LE32" identifier < identifier) )) (compound_statement "{\n          if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }\n          if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;\n        }" { (if_statement "if (BFD_RELOC_390_TLS_IE64 < bVar9) {\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }" if (parenthesized_expression "(BFD_RELOC_390_TLS_IE64 < bVar9)" ( (binary_expression "BFD_RELOC_390_TLS_IE64 < bVar9" identifier < identifier) )) (compound_statement "{\n            S_SET_THREAD_LOCAL(s);\n            bVar13 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar13;\n            goto LAB_0004367e;\n          }" { (expression_statement "S_SET_THREAD_LOCAL(s);" (call_expression "S_SET_THREAD_LOCAL(s)" identifier (argument_list "(s)" ( identifier ))) ;) (expression_statement "bVar13 = 0xfffffffd < local_44;" (assignment_expression "bVar13 = 0xfffffffd < local_44" identifier = (binary_expression "0xfffffffd < local_44" number_literal < identifier)) ;) (expression_statement "local_44 = local_44 + 2;" (assignment_expression "local_44 = local_44 + 2" identifier = (binary_expression "local_44 + 2" identifier + number_literal)) ;) (expression_statement "local_40 = local_40 + bVar13;" (assignment_expression "local_40 = local_40 + bVar13" identifier = (binary_expression "local_40 + bVar13" identifier + identifier)) ;) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (bVar9 < BFD_RELOC_390_TLS_LOAD) goto LAB_0004371b;" if (parenthesized_expression "(bVar9 < BFD_RELOC_390_TLS_LOAD)" ( (binary_expression "bVar9 < BFD_RELOC_390_TLS_LOAD" identifier < identifier) )) (goto_statement "goto LAB_0004371b;" goto statement_identifier ;)) })) }) (else_clause "else if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }" else (if_statement "if (bVar9 != BFD_RELOC_390_TLS_GOTIE20) {\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }" if (parenthesized_expression "(bVar9 != BFD_RELOC_390_TLS_GOTIE20)" ( (binary_expression "bVar9 != BFD_RELOC_390_TLS_GOTIE20" identifier != identifier) )) (compound_statement "{\n        if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }\n        goto LAB_0004367e;\n      }" { (if_statement "if (BFD_RELOC_390_GOTPLT20 < bVar9) {\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }" if (parenthesized_expression "(BFD_RELOC_390_GOTPLT20 < bVar9)" ( (binary_expression "BFD_RELOC_390_GOTPLT20 < bVar9" identifier < identifier) )) (compound_statement "{\n          if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }" { (if_statement "if (bVar9 - BFD_RELOC_VTABLE_INHERIT < 2) {\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }" if (parenthesized_expression "(bVar9 - BFD_RELOC_VTABLE_INHERIT < 2)" ( (binary_expression "bVar9 - BFD_RELOC_VTABLE_INHERIT < 2" (binary_expression "bVar9 - BFD_RELOC_VTABLE_INHERIT" identifier - identifier) < number_literal) )) (compound_statement "{\n            *(byte *)fixP = *(byte *)fixP & 0xdf;\n            return;\n          }" { (expression_statement "*(byte *)fixP = *(byte *)fixP & 0xdf;" (assignment_expression "*(byte *)fixP = *(byte *)fixP & 0xdf" (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(byte *)fixP & 0xdf" (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal)) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_00043958;" goto statement_identifier ;) })) (if_statement "if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0) {\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }" if (parenthesized_expression "((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0)" ( (binary_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) !=\n            (undefined1  [68])0x0" (call_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20)" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) (argument_list "((undefined1  [68])*fixP & (undefined1  [68])0x20)" ( (binary_expression "(undefined1  [68])*fixP & (undefined1  [68])0x20" (binary_expression "(undefined1  [68])*fixP" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [68])0x20" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) ))) != (cast_expression "(undefined1  [68])0x0" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n          uVar10 = bfd_getb32(pcVar8);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);\n        }" { (expression_statement "uVar10 = bfd_getb32(pcVar8);" (assignment_expression "uVar10 = bfd_getb32(pcVar8)" identifier = (call_expression "bfd_getb32(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8);" (call_expression "bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8)" identifier (argument_list "(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10,0,pcVar8)" ( (binary_expression "local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar10" (binary_expression "local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8" (binary_expression "local_44 >> 0xc & 0xff" (binary_expression "local_44 >> 0xc" identifier >> number_literal) & number_literal) | (binary_expression "(local_44 & 0xfff) << 8" (parenthesized_expression "(local_44 & 0xfff)" ( (binary_expression "local_44 & 0xfff" identifier & number_literal) )) << number_literal)) | identifier) , number_literal , identifier ))) ;) })) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })))) (expression_statement "S_SET_THREAD_LOCAL(s);" (call_expression "S_SET_THREAD_LOCAL(s)" identifier (argument_list "(s)" ( identifier ))) ;) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (bVar9 == BFD_RELOC_390_GOTPLT12) goto LAB_00043d00;" if (parenthesized_expression "(bVar9 == BFD_RELOC_390_GOTPLT12)" ( (binary_expression "bVar9 == BFD_RELOC_390_GOTPLT12" identifier == identifier) )) (goto_statement "goto LAB_00043d00;" goto statement_identifier ;)) (if_statement "if (bVar9 < BFD_RELOC_390_GOTPLT16) {\n      if (bVar9 == BFD_RELOC_390_GOTENT) {\nLAB_00043748:\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (bVar9 != BFD_RELOC_390_GOTPLT64) {\n      if (bVar9 < BFD_RELOC_390_GOTPLTENT) {\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar12 = *(byte *)fixP;\njoined_r0x00043882:\n      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n      iVar7 = 2;\n      goto LAB_00043668;\n    }" if (parenthesized_expression "(bVar9 < BFD_RELOC_390_GOTPLT16)" ( (binary_expression "bVar9 < BFD_RELOC_390_GOTPLT16" identifier < identifier) )) (compound_statement "{\n      if (bVar9 == BFD_RELOC_390_GOTENT) {\nLAB_00043748:\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 4;\n        goto LAB_00043760;\n      }\n    }" { (if_statement "if (bVar9 == BFD_RELOC_390_GOTENT) {\nLAB_00043748:\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 4;\n        goto LAB_00043760;\n      }" if (parenthesized_expression "(bVar9 == BFD_RELOC_390_GOTENT)" ( (binary_expression "bVar9 == BFD_RELOC_390_GOTENT" identifier == identifier) )) (compound_statement "{\nLAB_00043748:\n        uVar10 = (uint)fixP->fx_pcrel_adjust;\n        bVar13 = CARRY4(local_44,uVar10);\n        local_44 = local_44 + uVar10;\n        local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;\n        if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;\n        iVar7 = 4;\n        goto LAB_00043760;\n      }" { (labeled_statement "LAB_00043748:\n        uVar10 = (uint)fixP->fx_pcrel_adjust;" statement_identifier : (expression_statement "uVar10 = (uint)fixP->fx_pcrel_adjust;" (assignment_expression "uVar10 = (uint)fixP->fx_pcrel_adjust" identifier = (cast_expression "(uint)fixP->fx_pcrel_adjust" ( (type_descriptor "uint" type_identifier) ) (field_expression "fixP->fx_pcrel_adjust" identifier -> field_identifier))) ;)) (expression_statement "bVar13 = CARRY4(local_44,uVar10);" (assignment_expression "bVar13 = CARRY4(local_44,uVar10)" identifier = (call_expression "CARRY4(local_44,uVar10)" identifier (argument_list "(local_44,uVar10)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar10;" (assignment_expression "local_44 = local_44 + uVar10" identifier = (binary_expression "local_44 + uVar10" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13;" (assignment_expression "local_40 = local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13" identifier = (binary_expression "local_40 + ((int)uVar10 >> 0x1f) + (uint)bVar13" (binary_expression "local_40 + ((int)uVar10 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar10 >> 0x1f)" ( (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0) goto LAB_0004367e;" if (parenthesized_expression "((undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0)" ( (binary_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20) ==\n            (undefined1  [68])0x0" (call_expression "(undefined1  [68])((undefined1  [68])*fixP & (undefined1  [68])0x20)" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) (argument_list "((undefined1  [68])*fixP & (undefined1  [68])0x20)" ( (binary_expression "(undefined1  [68])*fixP & (undefined1  [68])0x20" (binary_expression "(undefined1  [68])*fixP" (parenthesized_expression "(undefined1  [68])" ( (subscript_expression "undefined1  [68]" identifier [ number_literal ]) )) * identifier) & (cast_expression "(undefined1  [68])0x20" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [68])0x0" ( (type_descriptor "undefined1  [68]" type_identifier (abstract_array_declarator "[68]" [ number_literal ])) ) number_literal)) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_00043760;" goto statement_identifier ;) })) }) (else_clause "else if (bVar9 != BFD_RELOC_390_GOTPLT64) {\n      if (bVar9 < BFD_RELOC_390_GOTPLTENT) {\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar12 = *(byte *)fixP;\njoined_r0x00043882:\n      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n      iVar7 = 2;\n      goto LAB_00043668;\n    }" else (if_statement "if (bVar9 != BFD_RELOC_390_GOTPLT64) {\n      if (bVar9 < BFD_RELOC_390_GOTPLTENT) {\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar12 = *(byte *)fixP;\njoined_r0x00043882:\n      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n      iVar7 = 2;\n      goto LAB_00043668;\n    }" if (parenthesized_expression "(bVar9 != BFD_RELOC_390_GOTPLT64)" ( (binary_expression "bVar9 != BFD_RELOC_390_GOTPLT64" identifier != identifier) )) (compound_statement "{\n      if (bVar9 < BFD_RELOC_390_GOTPLTENT) {\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar12 = *(byte *)fixP;\njoined_r0x00043882:\n      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;\n      iVar7 = 2;\n      goto LAB_00043668;\n    }" { (if_statement "if (bVar9 < BFD_RELOC_390_GOTPLTENT) {\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }" if (parenthesized_expression "(bVar9 < BFD_RELOC_390_GOTPLTENT)" ( (binary_expression "bVar9 < BFD_RELOC_390_GOTPLTENT" identifier < identifier) )) (compound_statement "{\n        if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }" { (if_statement "if (bVar9 != BFD_RELOC_390_GOTPLT16) {\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }" if (parenthesized_expression "(bVar9 != BFD_RELOC_390_GOTPLT16)" ( (binary_expression "bVar9 != BFD_RELOC_390_GOTPLT16" identifier != identifier) )) (compound_statement "{\n          if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;\n          goto LAB_000437c8;\n        }" { (if_statement "if (bVar9 != BFD_RELOC_390_GOTPLT32) goto LAB_00043958;" if (parenthesized_expression "(bVar9 != BFD_RELOC_390_GOTPLT32)" ( (binary_expression "bVar9 != BFD_RELOC_390_GOTPLT32" identifier != identifier) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_000437c8;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }" else (compound_statement "{\n        if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;\n        if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;\n      }" { (if_statement "if (bVar9 == BFD_RELOC_390_GOTPLTENT) goto LAB_00043748;" if (parenthesized_expression "(bVar9 == BFD_RELOC_390_GOTPLTENT)" ( (binary_expression "bVar9 == BFD_RELOC_390_GOTPLTENT" identifier == identifier) )) (goto_statement "goto LAB_00043748;" goto statement_identifier ;)) (if_statement "if (bVar9 != BFD_RELOC_390_PLTOFF16) goto LAB_00043958;" if (parenthesized_expression "(bVar9 != BFD_RELOC_390_PLTOFF16)" ( (binary_expression "bVar9 != BFD_RELOC_390_PLTOFF16" identifier != identifier) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0004387f:\n      bVar12 = *(byte *)fixP;" statement_identifier : (expression_statement "bVar12 = *(byte *)fixP;" (assignment_expression "bVar12 = *(byte *)fixP" identifier = (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (labeled_statement "joined_r0x00043882:\n      if ((bVar12 & 0x20) == 0) goto LAB_0004367e;" statement_identifier : (if_statement "if ((bVar12 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((bVar12 & 0x20) == 0)" ( (binary_expression "(bVar12 & 0x20) == 0" (parenthesized_expression "(bVar12 & 0x20)" ( (binary_expression "bVar12 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;))) (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_00043668;" goto statement_identifier ;) })))) (labeled_statement "LAB_0004371b:\n    bVar12 = *(byte *)fixP;" statement_identifier : (expression_statement "bVar12 = *(byte *)fixP;" (assignment_expression "bVar12 = *(byte *)fixP" identifier = (pointer_expression "*(byte *)fixP" * (cast_expression "(byte *)fixP" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (labeled_statement "joined_r0x0004371e:\n    if ((bVar12 & 0x20) == 0) goto LAB_0004367e;" statement_identifier : (if_statement "if ((bVar12 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((bVar12 & 0x20) == 0)" ( (binary_expression "(bVar12 & 0x20) == 0" (parenthesized_expression "(bVar12 & 0x20)" ( (binary_expression "bVar12 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;))) (expression_statement "iVar7 = 8;" (assignment_expression "iVar7 = 8" identifier = number_literal) ;) }))) (labeled_statement "LAB_00043668:\n  number_to_chars_bigendian(pcVar8,CONCAT44(local_40,local_44),iVar7);" statement_identifier : (expression_statement "number_to_chars_bigendian(pcVar8,CONCAT44(local_40,local_44),iVar7);" (call_expression "number_to_chars_bigendian(pcVar8,CONCAT44(local_40,local_44),iVar7)" identifier (argument_list "(pcVar8,CONCAT44(local_40,local_44),iVar7)" ( identifier , (call_expression "CONCAT44(local_40,local_44)" identifier (argument_list "(local_40,local_44)" ( identifier , identifier ))) , identifier ))) ;)) (labeled_statement "LAB_0004367e:\n  *(uint *)&fixP->fx_offset = local_44;" statement_identifier : (expression_statement "*(uint *)&fixP->fx_offset = local_44;" (assignment_expression "*(uint *)&fixP->fx_offset = local_44" (pointer_expression "*(uint *)&fixP->fx_offset" * (cast_expression "(uint *)&fixP->fx_offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier)))) = identifier) ;)) (expression_statement "*(uint *)((int)&fixP->fx_offset + 4) = local_40;" (assignment_expression "*(uint *)((int)&fixP->fx_offset + 4) = local_40" (pointer_expression "*(uint *)((int)&fixP->fx_offset + 4)" * (cast_expression "(uint *)((int)&fixP->fx_offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fixP->fx_offset + 4)" ( (binary_expression "(int)&fixP->fx_offset + 4" (cast_expression "(int)&fixP->fx_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fixP->fx_offset" & (field_expression "fixP->fx_offset" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00043480(byte *param_1,uint *param_2)\n\n{\n  int *piVar1;\n  uint *puVar2;\n  ushort uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  byte bVar11;\n  uint uVar12;\n  int iVar13;\n  int unaff_EBX;\n  int unaff_EDI;\n  bool bVar14;\n  uint local_44;\n  uint local_40;\n  undefined1 local_24 [4];\n  undefined1 local_20 [16];\n  \n  FUN_0001c549();\n  local_40 = param_2[1];\n  local_44 = *param_2;\n  iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if (*(int *)(param_1 + 0x10) != 0) {\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }\n  iVar13 = *(int *)(param_1 + 0xc);\n  if (iVar13 == 0) {\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\n  }\n  else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }\n  if (0x8cd < (int)uVar8) {\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }\n  if (uVar8 < 0x563) {\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }\n  else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }\nLAB_00043668:\n  FUN_0003fb00(iVar7,local_44,local_40,uVar4);\nLAB_0004367e:\n  *(uint *)(param_1 + 0x14) = local_44;\n  *(uint *)(param_1 + 0x18) = local_40;\n  return;\n}\n\n" (function_definition "void FUN_00043480(byte *param_1,uint *param_2)\n\n{\n  int *piVar1;\n  uint *puVar2;\n  ushort uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  byte bVar11;\n  uint uVar12;\n  int iVar13;\n  int unaff_EBX;\n  int unaff_EDI;\n  bool bVar14;\n  uint local_44;\n  uint local_40;\n  undefined1 local_24 [4];\n  undefined1 local_20 [16];\n  \n  FUN_0001c549();\n  local_40 = param_2[1];\n  local_44 = *param_2;\n  iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if (*(int *)(param_1 + 0x10) != 0) {\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }\n  iVar13 = *(int *)(param_1 + 0xc);\n  if (iVar13 == 0) {\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\n  }\n  else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }\n  if (0x8cd < (int)uVar8) {\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }\n  if (uVar8 < 0x563) {\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }\n  else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }\nLAB_00043668:\n  FUN_0003fb00(iVar7,local_44,local_40,uVar4);\nLAB_0004367e:\n  *(uint *)(param_1 + 0x14) = local_44;\n  *(uint *)(param_1 + 0x18) = local_40;\n  return;\n}" primitive_type (function_declarator "FUN_00043480(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  int *piVar1;\n  uint *puVar2;\n  ushort uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  byte bVar11;\n  uint uVar12;\n  int iVar13;\n  int unaff_EBX;\n  int unaff_EDI;\n  bool bVar14;\n  uint local_44;\n  uint local_40;\n  undefined1 local_24 [4];\n  undefined1 local_20 [16];\n  \n  FUN_0001c549();\n  local_40 = param_2[1];\n  local_44 = *param_2;\n  iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if (*(int *)(param_1 + 0x10) != 0) {\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }\n  iVar13 = *(int *)(param_1 + 0xc);\n  if (iVar13 == 0) {\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\n  }\n  else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }\n  if (0x8cd < (int)uVar8) {\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }\n  if (uVar8 < 0x563) {\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }\n  else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }\nLAB_00043668:\n  FUN_0003fb00(iVar7,local_44,local_40,uVar4);\nLAB_0004367e:\n  *(uint *)(param_1 + 0x14) = local_44;\n  *(uint *)(param_1 + 0x18) = local_40;\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int unaff_EBX;" primitive_type identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "undefined1 local_24 [4];" type_identifier (array_declarator "local_24 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_20 [16];" type_identifier (array_declarator "local_20 [16]" identifier [ number_literal ]) ;) (expression_statement "FUN_0001c549();" (call_expression "FUN_0001c549()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_40 = param_2[1];" (assignment_expression "local_40 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "local_44 = *param_2;" (assignment_expression "local_44 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);" (assignment_expression "iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" identifier = (binary_expression "*(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" (binary_expression "*(int *)(param_1 + 4) + 0x4c" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) + number_literal) + (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(param_1 + 0x10) != 0) {\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x10) != 0)" ( (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) )) (compound_statement "{\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }" { (expression_statement "uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));" (assignment_expression "uVar4 = FUN_00037470(*(int *)(param_1 + 0x10))" identifier = (call_expression "FUN_00037470(*(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) )))) )))) ;) (expression_statement "uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));" (assignment_expression "uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30))" identifier = (call_expression "bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x30))" ( (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) )))) )))) ;) (expression_statement "uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);" (assignment_expression "uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0xdde5,5)" identifier (argument_list "(0,unaff_EDI + 0xdde5,5)" ( number_literal , (binary_expression "unaff_EDI + 0xdde5" identifier + number_literal) , number_literal )))) ;) (expression_statement "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);" (call_expression "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier , identifier , identifier ))) ;) (expression_statement "unaff_EBX = unaff_EDI + 0x24b79;" (assignment_expression "unaff_EBX = unaff_EDI + 0x24b79" identifier = (binary_expression "unaff_EDI + 0x24b79" identifier + number_literal)) ;) })) (expression_statement "iVar13 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar13 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 == 0) {\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\n  }\n  else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\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)) ;) (labeled_statement "LAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);" statement_identifier : (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }" else (compound_statement "{\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }" { (if_statement "if ((*param_1 & 1) == 0) goto LAB_00043514;" 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_00043514;" goto statement_identifier ;)) (expression_statement "puVar2 = *(uint **)(param_1 + 4);" (assignment_expression "puVar2 = *(uint **)(param_1 + 4)" identifier = (pointer_expression "*(uint **)(param_1 + 4)" * (cast_expression "(uint **)(param_1 + 4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = local_44 + *puVar2;" (assignment_expression "uVar12 = local_44 + *puVar2" identifier = (binary_expression "local_44 + *puVar2" identifier + (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);" (assignment_expression "unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2)" identifier = (binary_expression "local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2)" (binary_expression "local_40 + puVar2[1]" identifier + (subscript_expression "puVar2[1]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(local_44,*puVar2)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_44,*puVar2)" identifier (argument_list "(local_44,*puVar2)" ( identifier , (pointer_expression "*puVar2" * identifier) )))))) ;) (expression_statement "uVar9 = *(uint *)(param_1 + 8);" (assignment_expression "uVar9 = *(uint *)(param_1 + 8)" identifier = (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_44 = uVar9 + uVar12;" (assignment_expression "local_44 = uVar9 + uVar12" identifier = (binary_expression "uVar9 + uVar12" identifier + identifier)) ;) (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12)" identifier = (binary_expression "((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12)" (binary_expression "((int)uVar9 >> 0x1f) + unaff_EBX" (parenthesized_expression "((int)uVar9 >> 0x1f)" ( (binary_expression "(int)uVar9 >> 0x1f" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + identifier) + (cast_expression "(uint)CARRY4(uVar9,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier )))))) ;) }))) (if_statement "if (0x8cd < (int)uVar8) {\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }" if (parenthesized_expression "(0x8cd < (int)uVar8)" ( (binary_expression "0x8cd < (int)uVar8" number_literal < (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }" { (if_statement "if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }" if (parenthesized_expression "((*param_1 & 0x20) != 0)" ( (binary_expression "(*param_1 & 0x20) != 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }" { (expression_statement "FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );" (call_expression "FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  )" identifier (argument_list "(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  )" ( identifier , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);" (assignment_expression "piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc)" identifier = (cast_expression "(int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc)" ( (binary_expression "*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc" (pointer_expression "*(int *)(unaff_EDI + 0x24b09)" * (cast_expression "(int *)(unaff_EDI + 0x24b09)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x24b09)" ( (binary_expression "unaff_EDI + 0x24b09" identifier + number_literal) )))) + (binary_expression "(uVar8 - 0x8ce) * 0xc" (parenthesized_expression "(uVar8 - 0x8ce)" ( (binary_expression "uVar8 - 0x8ce" identifier - number_literal) )) * number_literal)) )))) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40;" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0xc)" ( (binary_expression "iVar7 == 0xc" identifier == number_literal) )) (compound_statement "{\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }" { (expression_statement "iVar7 = piVar1[1];" (assignment_expression "iVar7 = piVar1[1]" identifier = (subscript_expression "piVar1[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" if (parenthesized_expression "(iVar7 == 0x14)" ( (binary_expression "iVar7 == 0x14" identifier == number_literal) )) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" { (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 2" (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) )))) + number_literal)) ;) (expression_statement "param_1[0x30] = 0x51;" (assignment_expression "param_1[0x30] = 0x51" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" if (parenthesized_expression "(iVar7 == 0x24)" ( (binary_expression "iVar7 == 0x24" identifier == number_literal) )) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" { (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 4" (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) )))) + number_literal)) ;) (expression_statement "param_1[0x30] = 0x51;" (assignment_expression "param_1[0x30] = 0x51" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }" if (parenthesized_expression "((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "(iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(iVar7 == 0xc)" ( (binary_expression "iVar7 == 0xc" identifier == number_literal) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }" { (expression_statement "param_1[0x30] = 0x5a;" (assignment_expression "param_1[0x30] = 0x5a" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 1" (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) )))) + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 1;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 1" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "local_44 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = (binary_expression "local_40 + (0xfffffffe < local_44)" identifier + (parenthesized_expression "(0xfffffffe < local_44)" ( (binary_expression "0xfffffffe < local_44" number_literal < identifier) )))) ;) (expression_statement "param_1[1] = 1;" (assignment_expression "param_1[1] = 1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x14)" ( (binary_expression "iVar7 == 0x14" identifier == number_literal) )) (compound_statement "{\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }" { (if_statement "if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" if (parenthesized_expression "(piVar1[1] == 0x14)" ( (binary_expression "piVar1[1] == 0x14" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" { (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 2" (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) )))) + number_literal)) ;) (expression_statement "param_1[0x30] = 0x83;" (assignment_expression "param_1[0x30] = 0x83" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 8)" ( (binary_expression "iVar7 == 8" identifier == number_literal) )) (compound_statement "{\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }" { (if_statement "if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" if (parenthesized_expression "(piVar1[1] == 8)" ( (binary_expression "piVar1[1] == 8" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" { (expression_statement "param_1[2] = 1;" (assignment_expression "param_1[2] = 1" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 1" (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) )))) + number_literal)) ;) (expression_statement "param_1[0x30] = 7;" (assignment_expression "param_1[0x30] = 7" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x10)" ( (binary_expression "iVar7 == 0x10" identifier == number_literal) )) (compound_statement "{\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }" { (if_statement "if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" if (parenthesized_expression "(piVar1[1] == 0x10)" ( (binary_expression "piVar1[1] == 0x10" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" { (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 2" (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) )))) + number_literal)) ;) (if_statement "if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }" if (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }" { (expression_statement "param_1[0x30] = 0x5c;" (assignment_expression "param_1[0x30] = 0x5c" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = 2;" (assignment_expression "param_1[1] = 2" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 2;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 2" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "local_44 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = (binary_expression "local_40 + (0xfffffffd < local_44)" identifier + (parenthesized_expression "(0xfffffffd < local_44)" ( (binary_expression "0xfffffffd < local_44" number_literal < identifier) )))) ;) (return_statement "return;" return ;) })) (expression_statement "param_1[0x30] = 5;" (assignment_expression "param_1[0x30] = 5" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }" if (parenthesized_expression "((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "(piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(piVar1[1] == 0x20)" ( (binary_expression "piVar1[1] == 0x20" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }" { (expression_statement "param_1[0x30] = 0x5c;" (assignment_expression "param_1[0x30] = 0x5c" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 4" (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) )))) + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 4;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 4" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "local_44 + 4" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = (binary_expression "local_40 + (0xfffffffb < local_44)" identifier + (parenthesized_expression "(0xfffffffb < local_44)" ( (binary_expression "0xfffffffb < local_44" number_literal < identifier) )))) ;) (expression_statement "param_1[1] = 4;" (assignment_expression "param_1[1] = 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(iVar7 == 0x18)" ( (binary_expression "iVar7 == 0x18" identifier == number_literal) )) (compound_statement "{\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }" { (if_statement "if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }" if (parenthesized_expression "((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "(piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(piVar1[1] == 0x18)" ( (binary_expression "piVar1[1] == 0x18" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }" { (expression_statement "param_1[0x30] = 0x5e;" (assignment_expression "param_1[0x30] = 0x5e" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 3" (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) )))) + number_literal)) ;) (expression_statement "param_1[1] = 3;" (assignment_expression "param_1[1] = 3" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 3;" (assignment_expression "param_1[2] = 3" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 3;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 3" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "local_44 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = (binary_expression "local_40 + (0xfffffffc < local_44)" identifier + (parenthesized_expression "(0xfffffffc < local_44)" ( (binary_expression "0xfffffffc < local_44" number_literal < identifier) )))) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" else (if_statement "if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" if (parenthesized_expression "(((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" ( (binary_expression "((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "((iVar7 == 0x20) && (piVar1[1] == 0x10))" ( (binary_expression "(iVar7 == 0x20) && (piVar1[1] == 0x10)" (parenthesized_expression "(iVar7 == 0x20)" ( (binary_expression "iVar7 == 0x20" identifier == number_literal) )) && (parenthesized_expression "(piVar1[1] == 0x10)" ( (binary_expression "piVar1[1] == 0x10" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" ( (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" * (cast_expression "(byte *)(piVar1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar1 + 2)" ( (binary_expression "piVar1 + 2" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" { (expression_statement "param_1[0x30] = 0x60;" (assignment_expression "param_1[0x30] = 0x60" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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) )))) = (binary_expression "*(int *)(param_1 + 8) + 2" (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) )))) + number_literal)) ;) (expression_statement "param_1[1] = 2;" (assignment_expression "param_1[1] = 2" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 4;" (assignment_expression "param_1[2] = 4" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 2;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 2" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "local_44 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = (binary_expression "local_40 + (0xfffffffd < local_44)" identifier + (parenthesized_expression "(0xfffffffd < local_44)" ( (binary_expression "0xfffffffd < local_44" number_literal < identifier) )))) ;) (return_statement "return;" return ;) })))))))))))) (expression_statement "iVar7 = FUN_00020430(iVar13,local_24,local_20);" (assignment_expression "iVar7 = FUN_00020430(iVar13,local_24,local_20)" identifier = (call_expression "FUN_00020430(iVar13,local_24,local_20)" identifier (argument_list "(iVar13,local_24,local_20)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar7 = unaff_EDI + 0xe109;\n    }" { (expression_statement "iVar7 = unaff_EDI + 0xe109;" (assignment_expression "iVar7 = unaff_EDI + 0xe109" identifier = (binary_expression "unaff_EDI + 0xe109" identifier + number_literal)) ;) }) (else_clause "else {\n      iVar7 = unaff_EDI + 0xde19;\n    }" else (compound_statement "{\n      iVar7 = unaff_EDI + 0xde19;\n    }" { (expression_statement "iVar7 = unaff_EDI + 0xde19;" (assignment_expression "iVar7 = unaff_EDI + 0xde19" identifier = (binary_expression "unaff_EDI + 0xde19" identifier + number_literal)) ;) }))) (expression_statement "uVar4 = dcgettext(0,iVar7,5);" (assignment_expression "uVar4 = dcgettext(0,iVar7,5)" identifier = (call_expression "dcgettext(0,iVar7,5)" identifier (argument_list "(0,iVar7,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);" (call_expression "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier ))) ;) (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)) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar8 < 0x563) {\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }\n  else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }" if (parenthesized_expression "(uVar8 < 0x563)" ( (binary_expression "uVar8 < 0x563" identifier < number_literal) )) (compound_statement "{\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }" { (if_statement "if (0x55f < uVar8) goto LAB_00043748;" if (parenthesized_expression "(0x55f < uVar8)" ( (binary_expression "0x55f < uVar8" number_literal < identifier) )) (goto_statement "goto LAB_00043748;" goto statement_identifier ;)) (if_statement "if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }" if (parenthesized_expression "(uVar8 != 0x38)" ( (binary_expression "uVar8 != 0x38" identifier != number_literal) )) (compound_statement "{\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }" { (if_statement "if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }" if (parenthesized_expression "(0x38 < uVar8)" ( (binary_expression "0x38 < uVar8" number_literal < identifier) )) (compound_statement "{\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }" { (if_statement "if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }" if (parenthesized_expression "(uVar8 < 0x55c)" ( (binary_expression "uVar8 < 0x55c" identifier < number_literal) )) (compound_statement "{\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }" { (if_statement "if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }" if (parenthesized_expression "(uVar8 < 0x55a)" ( (binary_expression "uVar8 < 0x55a" identifier < number_literal) )) (compound_statement "{\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }" { (if_statement "if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }" if (parenthesized_expression "(0x552 < uVar8)" ( (binary_expression "0x552 < uVar8" number_literal < identifier) )) (compound_statement "{\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }" { (if_statement "if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }" if (parenthesized_expression "(uVar8 != 0x553)" ( (binary_expression "uVar8 != 0x553" identifier != number_literal) )) (compound_statement "{\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }" { (if_statement "if (uVar8 != 0x559) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0x559)" ( (binary_expression "uVar8 != 0x559" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_0004387f;" goto statement_identifier ;) })) (goto_statement "goto LAB_000437c8;" goto statement_identifier ;) })) (if_statement "if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }" if (parenthesized_expression "(uVar8 < 0x551)" ( (binary_expression "uVar8 < 0x551" identifier < number_literal) )) (compound_statement "{\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }" { (if_statement "if (uVar8 != 0x45) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0x45)" ( (binary_expression "uVar8 != 0x45" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_00043899;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00043d00:\n          bVar11 = *param_1 & 0x20;" statement_identifier : (expression_statement "bVar11 = *param_1 & 0x20;" (assignment_expression "bVar11 = *param_1 & 0x20" identifier = (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal)) ;)) (if_statement "if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" 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) )) (compound_statement "{\n            if (bVar11 == 0) goto LAB_0004367e;\n          }" { (if_statement "if (bVar11 == 0) goto LAB_0004367e;" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) }) (else_clause "else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" else (compound_statement "{\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" { (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" identifier = (cast_expression "(uint)(char)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" identifier = (call_expression "CARRY4(local_44,uVar8)" identifier (argument_list "(local_44,uVar8)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" identifier = (binary_expression "local_44 + uVar8" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar8 >> 0x1f)" ( (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (bVar11 == 0) goto LAB_0004367e;" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "local_44 = local_44 >> 1 | local_40 * -0x80000000;" (assignment_expression "local_44 = local_44 >> 1 | local_40 * -0x80000000" identifier = (binary_expression "local_44 >> 1 | local_40 * -0x80000000" (binary_expression "local_44 >> 1" identifier >> number_literal) | (binary_expression "local_40 * -0x80000000" identifier * number_literal))) ;) (expression_statement "local_40 = local_40 >> 1;" (assignment_expression "local_40 = local_40 >> 1" identifier = (binary_expression "local_40 >> 1" identifier >> number_literal)) ;) }))) (expression_statement "uVar3 = bfd_getb16(iVar7);" (assignment_expression "uVar3 = bfd_getb16(iVar7)" identifier = (call_expression "bfd_getb16(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);" (call_expression "bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7)" identifier (argument_list "((ushort)local_44 & 0xfff | uVar3,0,iVar7)" ( (binary_expression "(ushort)local_44 & 0xfff | uVar3" (binary_expression "(ushort)local_44 & 0xfff" (cast_expression "(ushort)local_44" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) | identifier) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }" if (parenthesized_expression "(0x55d < uVar8)" ( (binary_expression "0x55d < uVar8" number_literal < identifier) )) (compound_statement "{\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }" { (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" identifier = (cast_expression "(uint)(char)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" identifier = (call_expression "CARRY4(local_44,uVar8)" identifier (argument_list "(local_44,uVar8)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" identifier = (binary_expression "local_44 + uVar8" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar8 >> 0x1f)" ( (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }" if (parenthesized_expression "((*param_1 & 0x20) != 0)" ( (binary_expression "(*param_1 & 0x20) != 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }" { (expression_statement "uVar8 = local_44 >> 1;" (assignment_expression "uVar8 = local_44 >> 1" identifier = (binary_expression "local_44 >> 1" identifier >> number_literal)) ;) (expression_statement "local_44 = uVar8 | local_40 * -0x80000000;" (assignment_expression "local_44 = uVar8 | local_40 * -0x80000000" identifier = (binary_expression "uVar8 | local_40 * -0x80000000" identifier | (binary_expression "local_40 * -0x80000000" identifier * number_literal))) ;) (expression_statement "local_40 = local_40 >> 1;" (assignment_expression "local_40 = local_40 >> 1" identifier = (binary_expression "local_40 >> 1" identifier >> number_literal)) ;) (expression_statement "uVar9 = bfd_getb32(iVar7 + -1);" (assignment_expression "uVar9 = bfd_getb32(iVar7 + -1)" identifier = (call_expression "bfd_getb32(iVar7 + -1)" identifier (argument_list "(iVar7 + -1)" ( (binary_expression "iVar7 + -1" identifier + number_literal) )))) ;) (expression_statement "bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);" (call_expression "bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1)" identifier (argument_list "(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1)" ( (binary_expression "uVar9 | uVar8 & 0xffffff" identifier | (binary_expression "uVar8 & 0xffffff" identifier & number_literal)) , number_literal , (binary_expression "iVar7 + -1" identifier + number_literal) ))) ;) })) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" identifier = (cast_expression "(uint)(char)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" identifier = (call_expression "CARRY4(local_44,uVar8)" identifier (argument_list "(local_44,uVar8)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" identifier = (binary_expression "local_44 + uVar8" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar8 >> 0x1f)" ( (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((*param_1 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((*param_1 & 0x20) == 0)" ( (binary_expression "(*param_1 & 0x20) == 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "uVar4 = 2;" (assignment_expression "uVar4 = 2" identifier = number_literal) ;) (labeled_statement "LAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);" statement_identifier : (expression_statement "FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);" (call_expression "FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4)" identifier (argument_list "(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4)" ( identifier , (binary_expression "local_44 >> 1 | local_40 << 0x1f" (binary_expression "local_44 >> 1" identifier >> number_literal) | (binary_expression "local_40 << 0x1f" identifier << number_literal)) , (binary_expression "(int)local_40 >> 1" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) , identifier ))) ;)) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (uVar8 == 8) goto LAB_0004371b;" if (parenthesized_expression "(uVar8 == 8)" ( (binary_expression "uVar8 == 8" identifier == number_literal) )) (goto_statement "goto LAB_0004371b;" goto statement_identifier ;)) (if_statement "if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }" if (parenthesized_expression "(8 < uVar8)" ( (binary_expression "8 < uVar8" number_literal < identifier) )) (compound_statement "{\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }" { (if_statement "if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }" if (parenthesized_expression "(uVar8 == 0x10)" ( (binary_expression "uVar8 == 0x10" identifier == number_literal) )) (compound_statement "{\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }" { (labeled_statement "LAB_00043899:\n          bVar11 = *param_1;" statement_identifier : (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (if_statement "if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }" if (parenthesized_expression "((bVar11 & 1) != 0)" ( (binary_expression "(bVar11 & 1) != 0" (parenthesized_expression "(bVar11 & 1)" ( (binary_expression "bVar11 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }" { (if_statement "if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }" { (expression_statement "iVar13 = unaff_EDI + 0x967e;" (assignment_expression "iVar13 = unaff_EDI + 0x967e" identifier = (binary_expression "unaff_EDI + 0x967e" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar13;" (assignment_expression "iVar10 = iVar13" identifier = identifier) ;) }) (else_clause "else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }" else (compound_statement "{\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }" { (expression_statement "iVar10 = FUN_00037470(iVar13);" (assignment_expression "iVar10 = FUN_00037470(iVar13)" identifier = (call_expression "FUN_00037470(iVar13)" identifier (argument_list "(iVar13)" ( identifier )))) ;) (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\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                iVar13 = unaff_EDI + 0x967e;\n              }" { (expression_statement "iVar13 = unaff_EDI + 0x967e;" (assignment_expression "iVar13 = unaff_EDI + 0x967e" identifier = (binary_expression "unaff_EDI + 0x967e" identifier + number_literal)) ;) }) (else_clause "else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }" else (compound_statement "{\n                iVar13 = unaff_EDI + 0xe0ff;\n              }" { (expression_statement "iVar13 = unaff_EDI + 0xe0ff;" (assignment_expression "iVar13 = unaff_EDI + 0xe0ff" identifier = (binary_expression "unaff_EDI + 0xe0ff" identifier + number_literal)) ;) }))) }))) (expression_statement "uVar4 = bfd_get_reloc_code_name(uVar8);" (assignment_expression "uVar4 = bfd_get_reloc_code_name(uVar8)" identifier = (call_expression "bfd_get_reloc_code_name(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);" (assignment_expression "uVar5 = dcgettext(0,unaff_EDI + 0xde45,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0xde45,5)" identifier (argument_list "(0,unaff_EDI + 0xde45,5)" ( number_literal , (binary_expression "unaff_EDI + 0xde45" identifier + number_literal) , number_literal )))) ;) (expression_statement "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);" (call_expression "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x40)" * (cast_expression "(undefined4 *)(param_1 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) })) (goto_statement "goto joined_r0x00043882;" goto statement_identifier ;) })) (if_statement "if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" if (parenthesized_expression "(uVar8 < 0x11)" ( (binary_expression "uVar8 < 0x11" identifier < number_literal) )) (compound_statement "{\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }" { (if_statement "if (uVar8 == 9) goto LAB_00043995;" if (parenthesized_expression "(uVar8 == 9)" ( (binary_expression "uVar8 == 9" identifier == number_literal) )) (goto_statement "goto LAB_00043995;" goto statement_identifier ;)) (if_statement "if (uVar8 != 0xf) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0xf)" ( (binary_expression "uVar8 != 0xf" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) }) (else_clause "else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" else (if_statement "if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" if (parenthesized_expression "(uVar8 != 0x12)" ( (binary_expression "uVar8 != 0x12" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" { (if_statement "if (uVar8 != 0x13) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0x13)" ( (binary_expression "uVar8 != 0x13" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_00043899;" goto statement_identifier ;) })))) (labeled_statement "LAB_000437c8:\n        bVar11 = *param_1;" statement_identifier : (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (goto_statement "goto joined_r0x000437cb;" goto statement_identifier ;) })) (if_statement "if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (compound_statement "{\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }" { (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar4 = 2;" (assignment_expression "uVar4 = 2" identifier = number_literal) ;) (if_statement "if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }" if (parenthesized_expression "((bVar11 & 1) != 0)" ( (binary_expression "(bVar11 & 1) != 0" (parenthesized_expression "(bVar11 & 1)" ( (binary_expression "bVar11 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar4 = 9;\n        }" { (expression_statement "uVar4 = 9;" (assignment_expression "uVar4 = 9" identifier = number_literal) ;) })) (expression_statement "*(undefined4 *)(param_1 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(param_1 + 0x30) = 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) )))) = identifier) ;) (goto_statement "goto joined_r0x000437cb;" goto statement_identifier ;) })) (if_statement "if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }" if (parenthesized_expression "(2 < uVar8)" ( (binary_expression "2 < uVar8" number_literal < identifier) )) (compound_statement "{\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }" { (if_statement "if (uVar8 == 5) goto LAB_00043899;" if (parenthesized_expression "(uVar8 == 5)" ( (binary_expression "uVar8 == 5" identifier == number_literal) )) (goto_statement "goto LAB_00043899;" goto statement_identifier ;)) (if_statement "if (uVar8 != 7) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 7)" ( (binary_expression "uVar8 != 7" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (if_statement "if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }" 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) )) (compound_statement "{\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }" { (expression_statement "FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);" (call_expression "FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX)" identifier (argument_list "(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX)" ( (binary_expression "unaff_EDI + 0xde95" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0xe3b1" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*param_1 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((*param_1 & 0x20) == 0)" ( (binary_expression "(*param_1 & 0x20) == 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00043668;" goto statement_identifier ;) })) (if_statement "if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }" if (parenthesized_expression "(uVar8 != 1)" ( (binary_expression "uVar8 != 1" identifier != number_literal) )) (compound_statement "{\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }" { (labeled_statement "LAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);" statement_identifier : (expression_statement "iVar7 = bfd_get_reloc_code_name(uVar8);" (assignment_expression "iVar7 = bfd_get_reloc_code_name(uVar8)" identifier = (call_expression "bfd_get_reloc_code_name(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;)) (if_statement "if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }" { (expression_statement "uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);" (assignment_expression "uVar4 = dcgettext(0,unaff_EDI + 0xe125,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0xe125,5)" identifier (argument_list "(0,unaff_EDI + 0xe125,5)" ( number_literal , (binary_expression "unaff_EDI + 0xe125" identifier + number_literal) , number_literal )))) ;) (expression_statement "FUN_0002acf0(uVar4,iVar7);" (call_expression "FUN_0002acf0(uVar4,iVar7)" identifier (argument_list "(uVar4,iVar7)" ( identifier , identifier ))) ;) })) (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x30)" identifier = (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) ))))) ;) (expression_statement "uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);" (assignment_expression "uVar5 = dcgettext(0,unaff_EDI + 0xe141,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0xe141,5)" identifier (argument_list "(0,unaff_EDI + 0xe141,5)" ( number_literal , (binary_expression "unaff_EDI + 0xe141" identifier + number_literal) , number_literal )))) ;) (expression_statement "FUN_0002acf0(uVar5,uVar4);" (call_expression "FUN_0002acf0(uVar5,uVar4)" identifier (argument_list "(uVar5,uVar4)" ( identifier , identifier ))) ;) })) (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (if_statement "if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }" if (parenthesized_expression "((bVar11 & 1) != 0)" ( (binary_expression "(bVar11 & 1) != 0" (parenthesized_expression "(bVar11 & 1)" ( (binary_expression "bVar11 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar4 = 8;\n      }" { (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" identifier = number_literal) ;) })) (expression_statement "*(undefined4 *)(param_1 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(param_1 + 0x30) = 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) )))) = identifier) ;) (goto_statement "goto joined_r0x0004371e;" goto statement_identifier ;) })) (labeled_statement "LAB_00043995:\n    param_1[0x30] = 9;" statement_identifier : (expression_statement "param_1[0x30] = 9;" (assignment_expression "param_1[0x30] = 9" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (labeled_statement "joined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" statement_identifier : (if_statement "if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((bVar11 & 0x20) == 0)" ( (binary_expression "(bVar11 & 0x20) == 0" (parenthesized_expression "(bVar11 & 0x20)" ( (binary_expression "bVar11 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;))) (expression_statement "uVar4 = 4;" (assignment_expression "uVar4 = 4" identifier = number_literal) ;) }) (else_clause "else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }" else (compound_statement "{\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }" { (if_statement "if (uVar8 == 0x56d) goto LAB_000437c8;" if (parenthesized_expression "(uVar8 == 0x56d)" ( (binary_expression "uVar8 == 0x56d" identifier == number_literal) )) (goto_statement "goto LAB_000437c8;" goto statement_identifier ;)) (if_statement "if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }" if (parenthesized_expression "(0x56d < uVar8)" ( (binary_expression "0x56d < uVar8" number_literal < identifier) )) (compound_statement "{\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }" { (if_statement "if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" if (parenthesized_expression "(uVar8 < 0x583)" ( (binary_expression "uVar8 < 0x583" identifier < number_literal) )) (compound_statement "{\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }" { (if_statement "if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }" if (parenthesized_expression "(uVar8 < 0x57c)" ( (binary_expression "uVar8 < 0x57c" identifier < number_literal) )) (compound_statement "{\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }" { (if_statement "if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }" if (parenthesized_expression "(0x57a < uVar8)" ( (binary_expression "0x57a < uVar8" number_literal < identifier) )) (compound_statement "{\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }" { (expression_statement "FUN_00039ca0(iVar13);" (call_expression "FUN_00039ca0(iVar13)" identifier (argument_list "(iVar13)" ( identifier ))) ;) (expression_statement "bVar14 = 0xfffffffd < local_44;" (assignment_expression "bVar14 = 0xfffffffd < local_44" identifier = (binary_expression "0xfffffffd < local_44" number_literal < identifier)) ;) (expression_statement "local_44 = local_44 + 2;" (assignment_expression "local_44 = local_44 + 2" identifier = (binary_expression "local_44 + 2" identifier + number_literal)) ;) (expression_statement "local_40 = local_40 + bVar14;" (assignment_expression "local_40 = local_40 + bVar14" identifier = (binary_expression "local_40 + bVar14" identifier + identifier)) ;) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (uVar8 < 0x56f) goto LAB_0004371b;" if (parenthesized_expression "(uVar8 < 0x56f)" ( (binary_expression "uVar8 < 0x56f" identifier < number_literal) )) (goto_statement "goto LAB_0004371b;" goto statement_identifier ;)) })) }) (else_clause "else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" else (if_statement "if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" if (parenthesized_expression "(uVar8 != 0x586)" ( (binary_expression "uVar8 != 0x586" identifier != number_literal) )) (compound_statement "{\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" { (if_statement "if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }" if (parenthesized_expression "(0x585 < uVar8)" ( (binary_expression "0x585 < uVar8" number_literal < identifier) )) (compound_statement "{\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }" { (if_statement "if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }" if (parenthesized_expression "(uVar8 - 0x5a3 < 2)" ( (binary_expression "uVar8 - 0x5a3 < 2" (binary_expression "uVar8 - 0x5a3" identifier - number_literal) < number_literal) )) (compound_statement "{\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }" { (expression_statement "*param_1 = *param_1 & 0xdf;" (assignment_expression "*param_1 = *param_1 & 0xdf" (pointer_expression "*param_1" * identifier) = (binary_expression "*param_1 & 0xdf" (pointer_expression "*param_1" * identifier) & number_literal)) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_00043958;" goto statement_identifier ;) })) (if_statement "if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }" if (parenthesized_expression "((*param_1 & 0x20) != 0)" ( (binary_expression "(*param_1 & 0x20) != 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }" { (expression_statement "uVar8 = bfd_getb32(iVar7);" (assignment_expression "uVar8 = bfd_getb32(iVar7)" identifier = (call_expression "bfd_getb32(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);" (call_expression "bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7)" identifier (argument_list "(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7)" ( (binary_expression "local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8" (binary_expression "local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8" (binary_expression "local_44 >> 0xc & 0xff" (binary_expression "local_44 >> 0xc" identifier >> number_literal) & number_literal) | (binary_expression "(local_44 & 0xfff) << 8" (parenthesized_expression "(local_44 & 0xfff)" ( (binary_expression "local_44 & 0xfff" identifier & number_literal) )) << number_literal)) | identifier) , number_literal , identifier ))) ;) })) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })))) (expression_statement "FUN_00039ca0(iVar13);" (call_expression "FUN_00039ca0(iVar13)" identifier (argument_list "(iVar13)" ( identifier ))) ;) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;) })) (if_statement "if (uVar8 == 0x567) goto LAB_00043d00;" if (parenthesized_expression "(uVar8 == 0x567)" ( (binary_expression "uVar8 == 0x567" identifier == number_literal) )) (goto_statement "goto LAB_00043d00;" goto statement_identifier ;)) (if_statement "if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" if (parenthesized_expression "(uVar8 < 0x568)" ( (binary_expression "uVar8 < 0x568" identifier < number_literal) )) (compound_statement "{\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }" { (if_statement "if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }" if (parenthesized_expression "(uVar8 == 0x565)" ( (binary_expression "uVar8 == 0x565" identifier == number_literal) )) (compound_statement "{\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }" { (labeled_statement "LAB_00043748:\n        uVar8 = (uint)(char)param_1[1];" statement_identifier : (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" identifier = (cast_expression "(uint)(char)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;)) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" identifier = (call_expression "CARRY4(local_44,uVar8)" identifier (argument_list "(local_44,uVar8)" ( identifier , identifier )))) ;) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" identifier = (binary_expression "local_44 + uVar8" identifier + identifier)) ;) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" identifier = (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" identifier + (parenthesized_expression "((int)uVar8 >> 0x1f)" ( (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((*param_1 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((*param_1 & 0x20) == 0)" ( (binary_expression "(*param_1 & 0x20) == 0" (parenthesized_expression "(*param_1 & 0x20)" ( (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;)) (expression_statement "uVar4 = 4;" (assignment_expression "uVar4 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_00043760;" goto statement_identifier ;) })) }) (else_clause "else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" else (if_statement "if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" if (parenthesized_expression "(uVar8 != 0x56a)" ( (binary_expression "uVar8 != 0x56a" identifier != number_literal) )) (compound_statement "{\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" { (if_statement "if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }" if (parenthesized_expression "(uVar8 < 0x56b)" ( (binary_expression "uVar8 < 0x56b" identifier < number_literal) )) (compound_statement "{\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }" { (if_statement "if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }" if (parenthesized_expression "(uVar8 != 0x568)" ( (binary_expression "uVar8 != 0x568" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }" { (if_statement "if (uVar8 != 0x569) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0x569)" ( (binary_expression "uVar8 != 0x569" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) (goto_statement "goto LAB_000437c8;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }" else (compound_statement "{\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }" { (if_statement "if (uVar8 == 0x56b) goto LAB_00043748;" if (parenthesized_expression "(uVar8 == 0x56b)" ( (binary_expression "uVar8 == 0x56b" identifier == number_literal) )) (goto_statement "goto LAB_00043748;" goto statement_identifier ;)) (if_statement "if (uVar8 != 0x56c) goto LAB_00043958;" if (parenthesized_expression "(uVar8 != 0x56c)" ( (binary_expression "uVar8 != 0x56c" identifier != number_literal) )) (goto_statement "goto LAB_00043958;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0004387f:\n      bVar11 = *param_1;" statement_identifier : (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (labeled_statement "joined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" statement_identifier : (if_statement "if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((bVar11 & 0x20) == 0)" ( (binary_expression "(bVar11 & 0x20) == 0" (parenthesized_expression "(bVar11 & 0x20)" ( (binary_expression "bVar11 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;))) (expression_statement "uVar4 = 2;" (assignment_expression "uVar4 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_00043668;" goto statement_identifier ;) })))) (labeled_statement "LAB_0004371b:\n    bVar11 = *param_1;" statement_identifier : (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (labeled_statement "joined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" statement_identifier : (if_statement "if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" if (parenthesized_expression "((bVar11 & 0x20) == 0)" ( (binary_expression "(bVar11 & 0x20) == 0" (parenthesized_expression "(bVar11 & 0x20)" ( (binary_expression "bVar11 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004367e;" goto statement_identifier ;))) (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" identifier = number_literal) ;) }))) (labeled_statement "LAB_00043668:\n  FUN_0003fb00(iVar7,local_44,local_40,uVar4);" statement_identifier : (expression_statement "FUN_0003fb00(iVar7,local_44,local_40,uVar4);" (call_expression "FUN_0003fb00(iVar7,local_44,local_40,uVar4)" identifier (argument_list "(iVar7,local_44,local_40,uVar4)" ( identifier , identifier , identifier , identifier ))) ;)) (labeled_statement "LAB_0004367e:\n  *(uint *)(param_1 + 0x14) = local_44;" statement_identifier : (expression_statement "*(uint *)(param_1 + 0x14) = local_44;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(uint *)(param_1 + 0x18) = local_40;" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40" (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = identifier) ;) (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 = (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 = (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 = (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , 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 , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_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) ))))) ;)) }) (else_clause else (compound_statement { (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( 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) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (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 = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (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) )))) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (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) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (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) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (return_statement return ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (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) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (return_statement return ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (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) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (return_statement return ;) })))))))))))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , 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 ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (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 LIT < IDENT) )) (compound_statement { (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 ;) })) (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 ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) & LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | IDENT) , LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT | (binary_expression IDENT & LIT)) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (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 = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT << LIT)) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) , IDENT ))) ;)) (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 LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , 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 , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (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 ;) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (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 ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (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 = 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 = (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 ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (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 = (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (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 LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | IDENT) , LIT , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (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 = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (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 IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) })))
(function_definition "void FUN_00043480(byte *param_1,uint *param_2)\n\n{\n  int *piVar1;\n  uint *puVar2;\n  ushort uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  byte bVar11;\n  uint uVar12;\n  int iVar13;\n  int unaff_EBX;\n  int unaff_EDI;\n  bool bVar14;\n  uint local_44;\n  uint local_40;\n  undefined1 local_24 [4];\n  undefined1 local_20 [16];\n  \n  FUN_0001c549();\n  local_40 = param_2[1];\n  local_44 = *param_2;\n  iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if (*(int *)(param_1 + 0x10) != 0) {\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }\n  iVar13 = *(int *)(param_1 + 0xc);\n  if (iVar13 == 0) {\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\n  }\n  else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }\n  if (0x8cd < (int)uVar8) {\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }\n  if (uVar8 < 0x563) {\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }\n  else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }\nLAB_00043668:\n  FUN_0003fb00(iVar7,local_44,local_40,uVar4);\nLAB_0004367e:\n  *(uint *)(param_1 + 0x14) = local_44;\n  *(uint *)(param_1 + 0x18) = local_40;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00043480(byte *param_1,uint *param_2)" (identifier "FUN_00043480") (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  int *piVar1;\n  uint *puVar2;\n  ushort uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  uint uVar8;\n  uint uVar9;\n  int iVar10;\n  byte bVar11;\n  uint uVar12;\n  int iVar13;\n  int unaff_EBX;\n  int unaff_EDI;\n  bool bVar14;\n  uint local_44;\n  uint local_40;\n  undefined1 local_24 [4];\n  undefined1 local_20 [16];\n  \n  FUN_0001c549();\n  local_40 = param_2[1];\n  local_44 = *param_2;\n  iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);\n  if (*(int *)(param_1 + 0x10) != 0) {\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }\n  iVar13 = *(int *)(param_1 + 0xc);\n  if (iVar13 == 0) {\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\n  }\n  else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }\n  if (0x8cd < (int)uVar8) {\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }\n  if (uVar8 < 0x563) {\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }\n  else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }\nLAB_00043668:\n  FUN_0003fb00(iVar7,local_44,local_40,uVar4);\nLAB_0004367e:\n  *(uint *)(param_1 + 0x14) = local_44;\n  *(uint *)(param_1 + 0x18) = local_40;\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "ushort uVar3;" (type_identifier "ushort") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "byte bVar11;" (type_identifier "byte") (identifier "bVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int unaff_EBX;" (primitive_type "int") (identifier "unaff_EBX") (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (declaration "bool bVar14;" (primitive_type "bool") (identifier "bVar14") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "undefined1 local_24 [4];" (type_identifier "undefined1") (array_declarator "local_24 [4]" (identifier "local_24") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 local_20 [16];" (type_identifier "undefined1") (array_declarator "local_20 [16]" (identifier "local_20") ([ "[") (number_literal "16") (] "]")) (; ";")) (expression_statement "FUN_0001c549();" (call_expression "FUN_0001c549()" (identifier "FUN_0001c549") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_40 = param_2[1];" (assignment_expression "local_40 = param_2[1]" (identifier "local_40") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_44 = *param_2;" (assignment_expression "local_44 = *param_2" (identifier "local_44") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);" (assignment_expression "iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" (identifier "iVar7") (= "=") (binary_expression "*(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8)" (binary_expression "*(int *)(param_1 + 4) + 0x4c" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x4c")) (+ "+") (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x10) != 0) {\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x10) != 0)" (( "(") (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")) () ")")) (compound_statement "{\n    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));\n    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));\n    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);\n    unaff_EBX = unaff_EDI + 0x24b79;\n  }" ({ "{") (expression_statement "uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));" (assignment_expression "uVar4 = FUN_00037470(*(int *)(param_1 + 0x10))" (identifier "uVar4") (= "=") (call_expression "FUN_00037470(*(int *)(param_1 + 0x10))" (identifier "FUN_00037470") (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")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));" (assignment_expression "uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30))" (identifier "uVar5") (= "=") (call_expression "bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30))" (identifier "bfd_get_reloc_code_name") (argument_list "(*(undefined4 *)(param_1 + 0x30))" (( "(") (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")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);" (assignment_expression "uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,unaff_EDI + 0xdde5,5)" (identifier "dcgettext") (argument_list "(0,unaff_EDI + 0xdde5,5)" (( "(") (number_literal "0") (, ",") (binary_expression "unaff_EDI + 0xdde5" (identifier "unaff_EDI") (+ "+") (number_literal "0xdde5")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);" (call_expression "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4)" (identifier "FUN_0002aca0") (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (, ",") (identifier "uVar6") (, ",") (identifier "uVar5") (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "unaff_EBX = unaff_EDI + 0x24b79;" (assignment_expression "unaff_EBX = unaff_EDI + 0x24b79" (identifier "unaff_EBX") (= "=") (binary_expression "unaff_EDI + 0x24b79" (identifier "unaff_EDI") (+ "+") (number_literal "0x24b79"))) (; ";")) (} "}"))) (expression_statement "iVar13 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar13 = *(int *)(param_1 + 0xc)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar13 == 0) {\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\n  }\n  else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *param_1 = *param_1 | 0x20;\nLAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);\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"))) (; ";")) (labeled_statement "LAB_00043514:\n    uVar8 = *(uint *)(param_1 + 0x30);" (statement_identifier "LAB_00043514") (: ":") (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }" (else "else") (compound_statement "{\n    if ((*param_1 & 1) == 0) goto LAB_00043514;\n    puVar2 = *(uint **)(param_1 + 4);\n    uVar12 = local_44 + *puVar2;\n    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);\n    uVar9 = *(uint *)(param_1 + 8);\n    local_44 = uVar9 + uVar12;\n    uVar8 = *(uint *)(param_1 + 0x30);\n    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);\n  }" ({ "{") (if_statement "if ((*param_1 & 1) == 0) goto LAB_00043514;" (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_00043514;" (goto "goto") (statement_identifier "LAB_00043514") (; ";"))) (expression_statement "puVar2 = *(uint **)(param_1 + 4);" (assignment_expression "puVar2 = *(uint **)(param_1 + 4)" (identifier "puVar2") (= "=") (pointer_expression "*(uint **)(param_1 + 4)" (* "*") (cast_expression "(uint **)(param_1 + 4)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar12 = local_44 + *puVar2;" (assignment_expression "uVar12 = local_44 + *puVar2" (identifier "uVar12") (= "=") (binary_expression "local_44 + *puVar2" (identifier "local_44") (+ "+") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")))) (; ";")) (expression_statement "unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);" (assignment_expression "unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2)" (identifier "unaff_EBX") (= "=") (binary_expression "local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2)" (binary_expression "local_40 + puVar2[1]" (identifier "local_40") (+ "+") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4(local_44,*puVar2)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(local_44,*puVar2)" (identifier "CARRY4") (argument_list "(local_44,*puVar2)" (( "(") (identifier "local_44") (, ",") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")")))))) (; ";")) (expression_statement "uVar9 = *(uint *)(param_1 + 8);" (assignment_expression "uVar9 = *(uint *)(param_1 + 8)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(param_1 + 8)" (* "*") (cast_expression "(uint *)(param_1 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_44 = uVar9 + uVar12;" (assignment_expression "local_44 = uVar9 + uVar12" (identifier "local_44") (= "=") (binary_expression "uVar9 + uVar12" (identifier "uVar9") (+ "+") (identifier "uVar12"))) (; ";")) (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12)" (identifier "local_40") (= "=") (binary_expression "((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12)" (binary_expression "((int)uVar9 >> 0x1f) + unaff_EBX" (parenthesized_expression "((int)uVar9 >> 0x1f)" (( "(") (binary_expression "(int)uVar9 >> 0x1f" (cast_expression "(int)uVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar9")) (>> ">>") (number_literal "0x1f")) () ")")) (+ "+") (identifier "unaff_EBX")) (+ "+") (cast_expression "(uint)CARRY4(uVar9,uVar12)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar9,uVar12)" (identifier "CARRY4") (argument_list "(uVar9,uVar12)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar12") () ")")))))) (; ";")) (} "}")))) (if_statement "if (0x8cd < (int)uVar8) {\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }" (if "if") (parenthesized_expression "(0x8cd < (int)uVar8)" (( "(") (binary_expression "0x8cd < (int)uVar8" (number_literal "0x8cd") (< "<") (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8"))) () ")")) (compound_statement "{\n    if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }\n    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);\n    *(uint *)(param_1 + 0x14) = local_44;\n    iVar7 = *piVar1;\n    *(uint *)(param_1 + 0x18) = local_40;\n    if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }\n    iVar7 = FUN_00020430(iVar13,local_24,local_20);\n    if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }\n    uVar4 = dcgettext(0,iVar7,5);\n    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);\n    *param_1 = *param_1 | 0x20;\n    return;\n  }" ({ "{") (if_statement "if ((*param_1 & 0x20) != 0) {\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }" (if "if") (parenthesized_expression "((*param_1 & 0x20) != 0)" (( "(") (binary_expression "(*param_1 & 0x20) != 0" (parenthesized_expression "(*param_1 & 0x20)" (( "(") (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );\n      return;\n    }" ({ "{") (expression_statement "FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  );" (call_expression "FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  )" (identifier "FUN_00040960") (argument_list "(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)\n                  )" (( "(") (identifier "local_44") (, ",") (identifier "local_40") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);" (assignment_expression "piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc)" (identifier "piVar1") (= "=") (cast_expression "(int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc)" (( "(") (binary_expression "*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc" (pointer_expression "*(int *)(unaff_EDI + 0x24b09)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x24b09)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x24b09)" (( "(") (binary_expression "unaff_EDI + 0x24b09" (identifier "unaff_EDI") (+ "+") (number_literal "0x24b09")) () ")")))) (+ "+") (binary_expression "(uVar8 - 0x8ce) * 0xc" (parenthesized_expression "(uVar8 - 0x8ce)" (( "(") (binary_expression "uVar8 - 0x8ce" (identifier "uVar8") (- "-") (number_literal "0x8ce")) () ")")) (* "*") (number_literal "0xc"))) () ")")))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x14) = local_44;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44" (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "local_44")) (; ";")) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" (identifier "iVar7") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x18) = local_40;" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40" (pointer_expression "*(uint *)(param_1 + 0x18)" (* "*") (cast_expression "(uint *)(param_1 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (if_statement "if (iVar7 == 0xc) {\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0xc)" (( "(") (binary_expression "iVar7 == 0xc" (identifier "iVar7") (== "==") (number_literal "0xc")) () ")")) (compound_statement "{\n      iVar7 = piVar1[1];\n      if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }\n    }" ({ "{") (expression_statement "iVar7 = piVar1[1];" (assignment_expression "iVar7 = piVar1[1]" (identifier "iVar7") (= "=") (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (iVar7 == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0x14)" (( "(") (binary_expression "iVar7 == 0x14" (identifier "iVar7") (== "==") (number_literal "0x14")) () ")")) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" ({ "{") (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 8) + 2" (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")) () ")")))) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "param_1[0x30] = 0x51;" (assignment_expression "param_1[0x30] = 0x51" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0x51")) (; ";")) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (iVar7 == 0x24) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0x24)" (( "(") (binary_expression "iVar7 == 0x24" (identifier "iVar7") (== "==") (number_literal "0x24")) () ")")) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        param_1[0x30] = 0x51;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" ({ "{") (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4" (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")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 8) + 4" (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")) () ")")))) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "param_1[0x30] = 0x51;" (assignment_expression "param_1[0x30] = 0x51" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0x51")) (; ";")) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }" (if "if") (parenthesized_expression "((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" (( "(") (binary_expression "(iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(iVar7 == 0xc)" (( "(") (binary_expression "iVar7 == 0xc" (identifier "iVar7") (== "==") (number_literal "0xc")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" (( "(") (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" (( "(") (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" (* "*") (cast_expression "(byte *)(piVar1 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar1 + 2)" (( "(") (binary_expression "piVar1 + 2" (identifier "piVar1") (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        param_1[0x30] = 0x5a;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        *(uint *)(param_1 + 0x14) = local_44 + 1;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);\n        param_1[1] = 1;\n        param_1[2] = 2;\n        return;\n      }" ({ "{") (expression_statement "param_1[0x30] = 0x5a;" (assignment_expression "param_1[0x30] = 0x5a" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0x5a")) (; ";")) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1" (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")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 8) + 1" (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")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 1;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 1" (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "local_44 + 1" (identifier "local_44") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" (* "*") (cast_expression "(uint *)(param_1 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "local_40 + (0xfffffffe < local_44)" (identifier "local_40") (+ "+") (parenthesized_expression "(0xfffffffe < local_44)" (( "(") (binary_expression "0xfffffffe < local_44" (number_literal "0xfffffffe") (< "<") (identifier "local_44")) () ")")))) (; ";")) (expression_statement "param_1[1] = 1;" (assignment_expression "param_1[1] = 1" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "2")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" (else "else") (if_statement "if (iVar7 == 0x14) {\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0x14)" (( "(") (binary_expression "iVar7 == 0x14" (identifier "iVar7") (== "==") (number_literal "0x14")) () ")")) (compound_statement "{\n      if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }" ({ "{") (if_statement "if (piVar1[1] == 0x14) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" (if "if") (parenthesized_expression "(piVar1[1] == 0x14)" (( "(") (binary_expression "piVar1[1] == 0x14" (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x14")) () ")")) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        param_1[0x30] = 0x83;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" ({ "{") (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 8) + 2" (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")) () ")")))) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "param_1[0x30] = 0x83;" (assignment_expression "param_1[0x30] = 0x83" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0x83")) (; ";")) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" (else "else") (if_statement "if (iVar7 == 8) {\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }\n    else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar7 == 8)" (( "(") (binary_expression "iVar7 == 8" (identifier "iVar7") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n      if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n    }" ({ "{") (if_statement "if (piVar1[1] == 8) {\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" (if "if") (parenthesized_expression "(piVar1[1] == 8)" (( "(") (binary_expression "piVar1[1] == 8" (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "8")) () ")")) (compound_statement "{\n        param_1[2] = 1;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;\n        param_1[0x30] = 7;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" ({ "{") (expression_statement "param_1[2] = 1;" (assignment_expression "param_1[2] = 1" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1" (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")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 8) + 1" (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")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_1[0x30] = 7;" (assignment_expression "param_1[0x30] = 7" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "7")) (; ";")) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" (else "else") (if_statement "if (iVar7 == 0x10) {\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }\n    else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0x10)" (( "(") (binary_expression "iVar7 == 0x10" (identifier "iVar7") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n      if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }\n      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }\n    }" ({ "{") (if_statement "if (piVar1[1] == 0x10) {\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" (if "if") (parenthesized_expression "(piVar1[1] == 0x10)" (( "(") (binary_expression "piVar1[1] == 0x10" (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n        param_1[2] = 2;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }\n        param_1[0x30] = 5;\n        param_1[0x31] = 0;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        return;\n      }" ({ "{") (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 8) + 2" (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")) () ")")))) (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }" (if "if") (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" (( "(") (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" (( "(") (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" (* "*") (cast_expression "(byte *)(piVar1 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar1 + 2)" (( "(") (binary_expression "piVar1 + 2" (identifier "piVar1") (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          param_1[0x30] = 0x5c;\n          param_1[0x31] = 5;\n          param_1[0x32] = 0;\n          param_1[0x33] = 0;\n          param_1[1] = 2;\n          *(uint *)(param_1 + 0x14) = local_44 + 2;\n          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n          return;\n        }" ({ "{") (expression_statement "param_1[0x30] = 0x5c;" (assignment_expression "param_1[0x30] = 0x5c" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[1] = 2;" (assignment_expression "param_1[1] = 2" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 2;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 2" (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "local_44 + 2" (identifier "local_44") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" (* "*") (cast_expression "(uint *)(param_1 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "local_40 + (0xfffffffd < local_44)" (identifier "local_40") (+ "+") (parenthesized_expression "(0xfffffffd < local_44)" (( "(") (binary_expression "0xfffffffd < local_44" (number_literal "0xfffffffd") (< "<") (identifier "local_44")) () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "param_1[0x30] = 5;" (assignment_expression "param_1[0x30] = 5" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }" (if "if") (parenthesized_expression "((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" (( "(") (binary_expression "(piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(piVar1[1] == 0x20)" (( "(") (binary_expression "piVar1[1] == 0x20" (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x20")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" (( "(") (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" (( "(") (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" (* "*") (cast_expression "(byte *)(piVar1 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar1 + 2)" (( "(") (binary_expression "piVar1 + 2" (identifier "piVar1") (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        param_1[0x30] = 0x5c;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;\n        *(uint *)(param_1 + 0x14) = local_44 + 4;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);\n        param_1[1] = 4;\n        param_1[2] = 2;\n        return;\n      }" ({ "{") (expression_statement "param_1[0x30] = 0x5c;" (assignment_expression "param_1[0x30] = 0x5c" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4" (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")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 8) + 4" (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")) () ")")))) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 4;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 4" (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "local_44 + 4" (identifier "local_44") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" (* "*") (cast_expression "(uint *)(param_1 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "local_40 + (0xfffffffb < local_44)" (identifier "local_40") (+ "+") (parenthesized_expression "(0xfffffffb < local_44)" (( "(") (binary_expression "0xfffffffb < local_44" (number_literal "0xfffffffb") (< "<") (identifier "local_44")) () ")")))) (; ";")) (expression_statement "param_1[1] = 4;" (assignment_expression "param_1[1] = 4" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "param_1[2] = 2;" (assignment_expression "param_1[2] = 2" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "2")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" (else "else") (if_statement "if (iVar7 == 0x18) {\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }\n    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0x18)" (( "(") (binary_expression "iVar7 == 0x18" (identifier "iVar7") (== "==") (number_literal "0x18")) () ")")) (compound_statement "{\n      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }\n    }" ({ "{") (if_statement "if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }" (if "if") (parenthesized_expression "((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" (( "(") (binary_expression "(piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "(piVar1[1] == 0x18)" (( "(") (binary_expression "piVar1[1] == 0x18" (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x18")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" (( "(") (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" (( "(") (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" (* "*") (cast_expression "(byte *)(piVar1 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar1 + 2)" (( "(") (binary_expression "piVar1 + 2" (identifier "piVar1") (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        param_1[0x30] = 0x5e;\n        param_1[0x31] = 5;\n        param_1[0x32] = 0;\n        param_1[0x33] = 0;\n        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;\n        param_1[1] = 3;\n        param_1[2] = 3;\n        *(uint *)(param_1 + 0x14) = local_44 + 3;\n        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);\n        return;\n      }" ({ "{") (expression_statement "param_1[0x30] = 0x5e;" (assignment_expression "param_1[0x30] = 0x5e" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0x5e")) (; ";")) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3" (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")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 8) + 3" (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")) () ")")))) (+ "+") (number_literal "3"))) (; ";")) (expression_statement "param_1[1] = 3;" (assignment_expression "param_1[1] = 3" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "param_1[2] = 3;" (assignment_expression "param_1[2] = 3" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 3;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 3" (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "local_44 + 3" (identifier "local_44") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" (* "*") (cast_expression "(uint *)(param_1 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "local_40 + (0xfffffffc < local_44)" (identifier "local_40") (+ "+") (parenthesized_expression "(0xfffffffc < local_44)" (( "(") (binary_expression "0xfffffffc < local_44" (number_literal "0xfffffffc") (< "<") (identifier "local_44")) () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" (else "else") (if_statement "if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" (if "if") (parenthesized_expression "(((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0))" (( "(") (binary_expression "((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)" (parenthesized_expression "((iVar7 == 0x20) && (piVar1[1] == 0x10))" (( "(") (binary_expression "(iVar7 == 0x20) && (piVar1[1] == 0x10)" (parenthesized_expression "(iVar7 == 0x20)" (( "(") (binary_expression "iVar7 == 0x20" (identifier "iVar7") (== "==") (number_literal "0x20")) () ")")) (&& "&&") (parenthesized_expression "(piVar1[1] == 0x10)" (( "(") (binary_expression "piVar1[1] == 0x10" (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x10")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(piVar1 + 2) & 0x80) != 0)" (( "(") (binary_expression "(*(byte *)(piVar1 + 2) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar1 + 2) & 0x80)" (( "(") (binary_expression "*(byte *)(piVar1 + 2) & 0x80" (pointer_expression "*(byte *)(piVar1 + 2)" (* "*") (cast_expression "(byte *)(piVar1 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar1 + 2)" (( "(") (binary_expression "piVar1 + 2" (identifier "piVar1") (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      param_1[0x30] = 0x60;\n      param_1[0x31] = 5;\n      param_1[0x32] = 0;\n      param_1[0x33] = 0;\n      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;\n      param_1[1] = 2;\n      param_1[2] = 4;\n      *(uint *)(param_1 + 0x14) = local_44 + 2;\n      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);\n      return;\n    }" ({ "{") (expression_statement "param_1[0x30] = 0x60;" (assignment_expression "param_1[0x30] = 0x60" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0x60")) (; ";")) (expression_statement "param_1[0x31] = 5;" (assignment_expression "param_1[0x31] = 5" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2" (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")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 8) + 2" (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")) () ")")))) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "param_1[1] = 2;" (assignment_expression "param_1[1] = 2" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "param_1[2] = 4;" (assignment_expression "param_1[2] = 4" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(uint *)(param_1 + 0x14) = local_44 + 2;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44 + 2" (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "local_44 + 2" (identifier "local_44") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44)" (pointer_expression "*(uint *)(param_1 + 0x18)" (* "*") (cast_expression "(uint *)(param_1 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "local_40 + (0xfffffffd < local_44)" (identifier "local_40") (+ "+") (parenthesized_expression "(0xfffffffd < local_44)" (( "(") (binary_expression "0xfffffffd < local_44" (number_literal "0xfffffffd") (< "<") (identifier "local_44")) () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))))))))))))) (expression_statement "iVar7 = FUN_00020430(iVar13,local_24,local_20);" (assignment_expression "iVar7 = FUN_00020430(iVar13,local_24,local_20)" (identifier "iVar7") (= "=") (call_expression "FUN_00020430(iVar13,local_24,local_20)" (identifier "FUN_00020430") (argument_list "(iVar13,local_24,local_20)" (( "(") (identifier "iVar13") (, ",") (identifier "local_24") (, ",") (identifier "local_20") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n      iVar7 = unaff_EDI + 0xe109;\n    }\n    else {\n      iVar7 = unaff_EDI + 0xde19;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar7 = unaff_EDI + 0xe109;\n    }" ({ "{") (expression_statement "iVar7 = unaff_EDI + 0xe109;" (assignment_expression "iVar7 = unaff_EDI + 0xe109" (identifier "iVar7") (= "=") (binary_expression "unaff_EDI + 0xe109" (identifier "unaff_EDI") (+ "+") (number_literal "0xe109"))) (; ";")) (} "}")) (else_clause "else {\n      iVar7 = unaff_EDI + 0xde19;\n    }" (else "else") (compound_statement "{\n      iVar7 = unaff_EDI + 0xde19;\n    }" ({ "{") (expression_statement "iVar7 = unaff_EDI + 0xde19;" (assignment_expression "iVar7 = unaff_EDI + 0xde19" (identifier "iVar7") (= "=") (binary_expression "unaff_EDI + 0xde19" (identifier "unaff_EDI") (+ "+") (number_literal "0xde19"))) (; ";")) (} "}")))) (expression_statement "uVar4 = dcgettext(0,iVar7,5);" (assignment_expression "uVar4 = dcgettext(0,iVar7,5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,iVar7,5)" (identifier "dcgettext") (argument_list "(0,iVar7,5)" (( "(") (number_literal "0") (, ",") (identifier "iVar7") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);" (call_expression "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4)" (identifier "FUN_0002aca0") (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (, ",") (identifier "uVar4") () ")"))) (; ";")) (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"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (uVar8 < 0x563) {\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }\n  else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }" (if "if") (parenthesized_expression "(uVar8 < 0x563)" (( "(") (binary_expression "uVar8 < 0x563" (identifier "uVar8") (< "<") (number_literal "0x563")) () ")")) (compound_statement "{\n    if (0x55f < uVar8) goto LAB_00043748;\n    if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }\nLAB_00043995:\n    param_1[0x30] = 9;\n    param_1[0x31] = 0;\n    param_1[0x32] = 0;\n    param_1[0x33] = 0;\n    bVar11 = *param_1;\njoined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 4;\n  }" ({ "{") (if_statement "if (0x55f < uVar8) goto LAB_00043748;" (if "if") (parenthesized_expression "(0x55f < uVar8)" (( "(") (binary_expression "0x55f < uVar8" (number_literal "0x55f") (< "<") (identifier "uVar8")) () ")")) (goto_statement "goto LAB_00043748;" (goto "goto") (statement_identifier "LAB_00043748") (; ";"))) (if_statement "if (uVar8 != 0x38) {\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }" (if "if") (parenthesized_expression "(uVar8 != 0x38)" (( "(") (binary_expression "uVar8 != 0x38" (identifier "uVar8") (!= "!=") (number_literal "0x38")) () ")")) (compound_statement "{\n      if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }\n      if (uVar8 == 8) goto LAB_0004371b;\n      if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }\n      if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }\n      if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }\n      if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }\n      bVar11 = *param_1;\n      uVar4 = 1;\n      if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }\n      *(undefined4 *)(param_1 + 0x30) = uVar4;\n      goto joined_r0x0004371e;\n    }" ({ "{") (if_statement "if (0x38 < uVar8) {\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }" (if "if") (parenthesized_expression "(0x38 < uVar8)" (( "(") (binary_expression "0x38 < uVar8" (number_literal "0x38") (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n        if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }\n        if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 2;\nLAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);\n        goto LAB_0004367e;\n      }" ({ "{") (if_statement "if (uVar8 < 0x55c) {\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }" (if "if") (parenthesized_expression "(uVar8 < 0x55c)" (( "(") (binary_expression "uVar8 < 0x55c" (identifier "uVar8") (< "<") (number_literal "0x55c")) () ")")) (compound_statement "{\n          if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }\nLAB_00043d00:\n          bVar11 = *param_1 & 0x20;\n          if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }\n          uVar3 = bfd_getb16(iVar7);\n          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);\n          goto LAB_0004367e;\n        }" ({ "{") (if_statement "if (uVar8 < 0x55a) {\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }" (if "if") (parenthesized_expression "(uVar8 < 0x55a)" (( "(") (binary_expression "uVar8 < 0x55a" (identifier "uVar8") (< "<") (number_literal "0x55a")) () ")")) (compound_statement "{\n            if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }\n            if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }\n          }" ({ "{") (if_statement "if (0x552 < uVar8) {\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }" (if "if") (parenthesized_expression "(0x552 < uVar8)" (( "(") (binary_expression "0x552 < uVar8" (number_literal "0x552") (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n              if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }\n              goto LAB_000437c8;\n            }" ({ "{") (if_statement "if (uVar8 != 0x553) {\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }" (if "if") (parenthesized_expression "(uVar8 != 0x553)" (( "(") (binary_expression "uVar8 != 0x553" (identifier "uVar8") (!= "!=") (number_literal "0x553")) () ")")) (compound_statement "{\n                if (uVar8 != 0x559) goto LAB_00043958;\n                goto LAB_0004387f;\n              }" ({ "{") (if_statement "if (uVar8 != 0x559) goto LAB_00043958;" (if "if") (parenthesized_expression "(uVar8 != 0x559)" (( "(") (binary_expression "uVar8 != 0x559" (identifier "uVar8") (!= "!=") (number_literal "0x559")) () ")")) (goto_statement "goto LAB_00043958;" (goto "goto") (statement_identifier "LAB_00043958") (; ";"))) (goto_statement "goto LAB_0004387f;" (goto "goto") (statement_identifier "LAB_0004387f") (; ";")) (} "}"))) (goto_statement "goto LAB_000437c8;" (goto "goto") (statement_identifier "LAB_000437c8") (; ";")) (} "}"))) (if_statement "if (uVar8 < 0x551) {\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }" (if "if") (parenthesized_expression "(uVar8 < 0x551)" (( "(") (binary_expression "uVar8 < 0x551" (identifier "uVar8") (< "<") (number_literal "0x551")) () ")")) (compound_statement "{\n              if (uVar8 != 0x45) goto LAB_00043958;\n              goto LAB_00043899;\n            }" ({ "{") (if_statement "if (uVar8 != 0x45) goto LAB_00043958;" (if "if") (parenthesized_expression "(uVar8 != 0x45)" (( "(") (binary_expression "uVar8 != 0x45" (identifier "uVar8") (!= "!=") (number_literal "0x45")) () ")")) (goto_statement "goto LAB_00043958;" (goto "goto") (statement_identifier "LAB_00043958") (; ";"))) (goto_statement "goto LAB_00043899;" (goto "goto") (statement_identifier "LAB_00043899") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00043d00:\n          bVar11 = *param_1 & 0x20;" (statement_identifier "LAB_00043d00") (: ":") (expression_statement "bVar11 = *param_1 & 0x20;" (assignment_expression "bVar11 = *param_1 & 0x20" (identifier "bVar11") (= "=") (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "0x20"))) (; ";"))) (if_statement "if ((*param_1 & 1) == 0) {\n            if (bVar11 == 0) goto LAB_0004367e;\n          }\n          else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" (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")) () ")")) (compound_statement "{\n            if (bVar11 == 0) goto LAB_0004367e;\n          }" ({ "{") (if_statement "if (bVar11 == 0) goto LAB_0004367e;" (if "if") (parenthesized_expression "(bVar11 == 0)" (( "(") (binary_expression "bVar11 == 0" (identifier "bVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";"))) (} "}")) (else_clause "else {\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" (else "else") (compound_statement "{\n            uVar8 = (uint)(char)param_1[1];\n            bVar14 = CARRY4(local_44,uVar8);\n            local_44 = local_44 + uVar8;\n            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n            if (bVar11 == 0) goto LAB_0004367e;\n            local_44 = local_44 >> 1 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n          }" ({ "{") (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" (identifier "uVar8") (= "=") (cast_expression "(uint)(char)param_1[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)param_1[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" (identifier "bVar14") (= "=") (call_expression "CARRY4(local_44,uVar8)" (identifier "CARRY4") (argument_list "(local_44,uVar8)" (( "(") (identifier "local_44") (, ",") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" (identifier "local_44") (= "=") (binary_expression "local_44 + uVar8" (identifier "local_44") (+ "+") (identifier "uVar8"))) (; ";")) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (identifier "local_40") (= "=") (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" (identifier "local_40") (+ "+") (parenthesized_expression "((int)uVar8 >> 0x1f)" (( "(") (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (>> ">>") (number_literal "0x1f")) () ")"))) (+ "+") (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")))) (; ";")) (if_statement "if (bVar11 == 0) goto LAB_0004367e;" (if "if") (parenthesized_expression "(bVar11 == 0)" (( "(") (binary_expression "bVar11 == 0" (identifier "bVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";"))) (expression_statement "local_44 = local_44 >> 1 | local_40 * -0x80000000;" (assignment_expression "local_44 = local_44 >> 1 | local_40 * -0x80000000" (identifier "local_44") (= "=") (binary_expression "local_44 >> 1 | local_40 * -0x80000000" (binary_expression "local_44 >> 1" (identifier "local_44") (>> ">>") (number_literal "1")) (| "|") (binary_expression "local_40 * -0x80000000" (identifier "local_40") (* "*") (number_literal "-0x80000000")))) (; ";")) (expression_statement "local_40 = local_40 >> 1;" (assignment_expression "local_40 = local_40 >> 1" (identifier "local_40") (= "=") (binary_expression "local_40 >> 1" (identifier "local_40") (>> ">>") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "uVar3 = bfd_getb16(iVar7);" (assignment_expression "uVar3 = bfd_getb16(iVar7)" (identifier "uVar3") (= "=") (call_expression "bfd_getb16(iVar7)" (identifier "bfd_getb16") (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);" (call_expression "bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7)" (identifier "bfd_putb16") (argument_list "((ushort)local_44 & 0xfff | uVar3,0,iVar7)" (( "(") (binary_expression "(ushort)local_44 & 0xfff | uVar3" (binary_expression "(ushort)local_44 & 0xfff" (cast_expression "(ushort)local_44" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "local_44")) (& "&") (number_literal "0xfff")) (| "|") (identifier "uVar3")) (, ",") (number_literal "0") (, ",") (identifier "iVar7") () ")"))) (; ";")) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";")) (} "}"))) (if_statement "if (0x55d < uVar8) {\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }" (if "if") (parenthesized_expression "(0x55d < uVar8)" (( "(") (binary_expression "0x55d < uVar8" (number_literal "0x55d") (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n          uVar8 = (uint)(char)param_1[1];\n          bVar14 = CARRY4(local_44,uVar8);\n          local_44 = local_44 + uVar8;\n          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n          if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }\n          goto LAB_0004367e;\n        }" ({ "{") (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" (identifier "uVar8") (= "=") (cast_expression "(uint)(char)param_1[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)param_1[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" (identifier "bVar14") (= "=") (call_expression "CARRY4(local_44,uVar8)" (identifier "CARRY4") (argument_list "(local_44,uVar8)" (( "(") (identifier "local_44") (, ",") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" (identifier "local_44") (= "=") (binary_expression "local_44 + uVar8" (identifier "local_44") (+ "+") (identifier "uVar8"))) (; ";")) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (identifier "local_40") (= "=") (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" (identifier "local_40") (+ "+") (parenthesized_expression "((int)uVar8 >> 0x1f)" (( "(") (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (>> ">>") (number_literal "0x1f")) () ")"))) (+ "+") (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")))) (; ";")) (if_statement "if ((*param_1 & 0x20) != 0) {\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }" (if "if") (parenthesized_expression "((*param_1 & 0x20) != 0)" (( "(") (binary_expression "(*param_1 & 0x20) != 0" (parenthesized_expression "(*param_1 & 0x20)" (( "(") (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar8 = local_44 >> 1;\n            local_44 = uVar8 | local_40 * -0x80000000;\n            local_40 = local_40 >> 1;\n            uVar9 = bfd_getb32(iVar7 + -1);\n            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);\n          }" ({ "{") (expression_statement "uVar8 = local_44 >> 1;" (assignment_expression "uVar8 = local_44 >> 1" (identifier "uVar8") (= "=") (binary_expression "local_44 >> 1" (identifier "local_44") (>> ">>") (number_literal "1"))) (; ";")) (expression_statement "local_44 = uVar8 | local_40 * -0x80000000;" (assignment_expression "local_44 = uVar8 | local_40 * -0x80000000" (identifier "local_44") (= "=") (binary_expression "uVar8 | local_40 * -0x80000000" (identifier "uVar8") (| "|") (binary_expression "local_40 * -0x80000000" (identifier "local_40") (* "*") (number_literal "-0x80000000")))) (; ";")) (expression_statement "local_40 = local_40 >> 1;" (assignment_expression "local_40 = local_40 >> 1" (identifier "local_40") (= "=") (binary_expression "local_40 >> 1" (identifier "local_40") (>> ">>") (number_literal "1"))) (; ";")) (expression_statement "uVar9 = bfd_getb32(iVar7 + -1);" (assignment_expression "uVar9 = bfd_getb32(iVar7 + -1)" (identifier "uVar9") (= "=") (call_expression "bfd_getb32(iVar7 + -1)" (identifier "bfd_getb32") (argument_list "(iVar7 + -1)" (( "(") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);" (call_expression "bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1)" (identifier "bfd_putb32") (argument_list "(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1)" (( "(") (binary_expression "uVar9 | uVar8 & 0xffffff" (identifier "uVar9") (| "|") (binary_expression "uVar8 & 0xffffff" (identifier "uVar8") (& "&") (number_literal "0xffffff"))) (, ",") (number_literal "0") (, ",") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1")) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";")) (} "}"))) (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" (identifier "uVar8") (= "=") (cast_expression "(uint)(char)param_1[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)param_1[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" (identifier "bVar14") (= "=") (call_expression "CARRY4(local_44,uVar8)" (identifier "CARRY4") (argument_list "(local_44,uVar8)" (( "(") (identifier "local_44") (, ",") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" (identifier "local_44") (= "=") (binary_expression "local_44 + uVar8" (identifier "local_44") (+ "+") (identifier "uVar8"))) (; ";")) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (identifier "local_40") (= "=") (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" (identifier "local_40") (+ "+") (parenthesized_expression "((int)uVar8 >> 0x1f)" (( "(") (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (>> ">>") (number_literal "0x1f")) () ")"))) (+ "+") (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")))) (; ";")) (if_statement "if ((*param_1 & 0x20) == 0) goto LAB_0004367e;" (if "if") (parenthesized_expression "((*param_1 & 0x20) == 0)" (( "(") (binary_expression "(*param_1 & 0x20) == 0" (parenthesized_expression "(*param_1 & 0x20)" (( "(") (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";"))) (expression_statement "uVar4 = 2;" (assignment_expression "uVar4 = 2" (identifier "uVar4") (= "=") (number_literal "2")) (; ";")) (labeled_statement "LAB_00043760:\n        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);" (statement_identifier "LAB_00043760") (: ":") (expression_statement "FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);" (call_expression "FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4)" (identifier "FUN_0003fb00") (argument_list "(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4)" (( "(") (identifier "iVar7") (, ",") (binary_expression "local_44 >> 1 | local_40 << 0x1f" (binary_expression "local_44 >> 1" (identifier "local_44") (>> ">>") (number_literal "1")) (| "|") (binary_expression "local_40 << 0x1f" (identifier "local_40") (<< "<<") (number_literal "0x1f"))) (, ",") (binary_expression "(int)local_40 >> 1" (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")) (>> ">>") (number_literal "1")) (, ",") (identifier "uVar4") () ")"))) (; ";"))) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";")) (} "}"))) (if_statement "if (uVar8 == 8) goto LAB_0004371b;" (if "if") (parenthesized_expression "(uVar8 == 8)" (( "(") (binary_expression "uVar8 == 8" (identifier "uVar8") (== "==") (number_literal "8")) () ")")) (goto_statement "goto LAB_0004371b;" (goto "goto") (statement_identifier "LAB_0004371b") (; ";"))) (if_statement "if (8 < uVar8) {\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }" (if "if") (parenthesized_expression "(8 < uVar8)" (( "(") (binary_expression "8 < uVar8" (number_literal "8") (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n        if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }\n        if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }\nLAB_000437c8:\n        bVar11 = *param_1;\n        goto joined_r0x000437cb;\n      }" ({ "{") (if_statement "if (uVar8 == 0x10) {\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }" (if "if") (parenthesized_expression "(uVar8 == 0x10)" (( "(") (binary_expression "uVar8 == 0x10" (identifier "uVar8") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\nLAB_00043899:\n          bVar11 = *param_1;\n          if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }\n          goto joined_r0x00043882;\n        }" ({ "{") (labeled_statement "LAB_00043899:\n          bVar11 = *param_1;" (statement_identifier "LAB_00043899") (: ":") (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" (identifier "bVar11") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";"))) (if_statement "if ((bVar11 & 1) != 0) {\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }" (if "if") (parenthesized_expression "((bVar11 & 1) != 0)" (( "(") (binary_expression "(bVar11 & 1) != 0" (parenthesized_expression "(bVar11 & 1)" (( "(") (binary_expression "bVar11 & 1" (identifier "bVar11") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }\n            uVar4 = bfd_get_reloc_code_name(uVar8);\n            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);\n            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);\n            bVar11 = *param_1;\n          }" ({ "{") (if_statement "if (iVar13 == 0) {\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }\n            else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar13 = unaff_EDI + 0x967e;\n              iVar10 = iVar13;\n            }" ({ "{") (expression_statement "iVar13 = unaff_EDI + 0x967e;" (assignment_expression "iVar13 = unaff_EDI + 0x967e" (identifier "iVar13") (= "=") (binary_expression "unaff_EDI + 0x967e" (identifier "unaff_EDI") (+ "+") (number_literal "0x967e"))) (; ";")) (expression_statement "iVar10 = iVar13;" (assignment_expression "iVar10 = iVar13" (identifier "iVar10") (= "=") (identifier "iVar13")) (; ";")) (} "}")) (else_clause "else {\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }" (else "else") (compound_statement "{\n              iVar10 = FUN_00037470(iVar13);\n              uVar8 = *(uint *)(param_1 + 0x30);\n              if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }\n            }" ({ "{") (expression_statement "iVar10 = FUN_00037470(iVar13);" (assignment_expression "iVar10 = FUN_00037470(iVar13)" (identifier "iVar10") (= "=") (call_expression "FUN_00037470(iVar13)" (identifier "FUN_00037470") (argument_list "(iVar13)" (( "(") (identifier "iVar13") () ")")))) (; ";")) (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (*(int *)(param_1 + 0xc) == 0) {\n                iVar13 = unaff_EDI + 0x967e;\n              }\n              else {\n                iVar13 = unaff_EDI + 0xe0ff;\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                iVar13 = unaff_EDI + 0x967e;\n              }" ({ "{") (expression_statement "iVar13 = unaff_EDI + 0x967e;" (assignment_expression "iVar13 = unaff_EDI + 0x967e" (identifier "iVar13") (= "=") (binary_expression "unaff_EDI + 0x967e" (identifier "unaff_EDI") (+ "+") (number_literal "0x967e"))) (; ";")) (} "}")) (else_clause "else {\n                iVar13 = unaff_EDI + 0xe0ff;\n              }" (else "else") (compound_statement "{\n                iVar13 = unaff_EDI + 0xe0ff;\n              }" ({ "{") (expression_statement "iVar13 = unaff_EDI + 0xe0ff;" (assignment_expression "iVar13 = unaff_EDI + 0xe0ff" (identifier "iVar13") (= "=") (binary_expression "unaff_EDI + 0xe0ff" (identifier "unaff_EDI") (+ "+") (number_literal "0xe0ff"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "uVar4 = bfd_get_reloc_code_name(uVar8);" (assignment_expression "uVar4 = bfd_get_reloc_code_name(uVar8)" (identifier "uVar4") (= "=") (call_expression "bfd_get_reloc_code_name(uVar8)" (identifier "bfd_get_reloc_code_name") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);" (assignment_expression "uVar5 = dcgettext(0,unaff_EDI + 0xde45,5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,unaff_EDI + 0xde45,5)" (identifier "dcgettext") (argument_list "(0,unaff_EDI + 0xde45,5)" (( "(") (number_literal "0") (, ",") (binary_expression "unaff_EDI + 0xde45" (identifier "unaff_EDI") (+ "+") (number_literal "0xde45")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10);" (call_expression "FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10)" (identifier "FUN_0002aca0") (argument_list "(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4\n                         ,iVar13,iVar10)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (, ",") (identifier "uVar5") (, ",") (identifier "uVar4") (, ",") (identifier "iVar13") (, ",") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" (identifier "bVar11") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (} "}"))) (goto_statement "goto joined_r0x00043882;" (goto "goto") (statement_identifier "joined_r0x00043882") (; ";")) (} "}"))) (if_statement "if (uVar8 < 0x11) {\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }\n        else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" (if "if") (parenthesized_expression "(uVar8 < 0x11)" (( "(") (binary_expression "uVar8 < 0x11" (identifier "uVar8") (< "<") (number_literal "0x11")) () ")")) (compound_statement "{\n          if (uVar8 == 9) goto LAB_00043995;\n          if (uVar8 != 0xf) goto LAB_00043958;\n        }" ({ "{") (if_statement "if (uVar8 == 9) goto LAB_00043995;" (if "if") (parenthesized_expression "(uVar8 == 9)" (( "(") (binary_expression "uVar8 == 9" (identifier "uVar8") (== "==") (number_literal "9")) () ")")) (goto_statement "goto LAB_00043995;" (goto "goto") (statement_identifier "LAB_00043995") (; ";"))) (if_statement "if (uVar8 != 0xf) goto LAB_00043958;" (if "if") (parenthesized_expression "(uVar8 != 0xf)" (( "(") (binary_expression "uVar8 != 0xf" (identifier "uVar8") (!= "!=") (number_literal "0xf")) () ")")) (goto_statement "goto LAB_00043958;" (goto "goto") (statement_identifier "LAB_00043958") (; ";"))) (} "}")) (else_clause "else if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" (else "else") (if_statement "if (uVar8 != 0x12) {\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" (if "if") (parenthesized_expression "(uVar8 != 0x12)" (( "(") (binary_expression "uVar8 != 0x12" (identifier "uVar8") (!= "!=") (number_literal "0x12")) () ")")) (compound_statement "{\n          if (uVar8 != 0x13) goto LAB_00043958;\n          goto LAB_00043899;\n        }" ({ "{") (if_statement "if (uVar8 != 0x13) goto LAB_00043958;" (if "if") (parenthesized_expression "(uVar8 != 0x13)" (( "(") (binary_expression "uVar8 != 0x13" (identifier "uVar8") (!= "!=") (number_literal "0x13")) () ")")) (goto_statement "goto LAB_00043958;" (goto "goto") (statement_identifier "LAB_00043958") (; ";"))) (goto_statement "goto LAB_00043899;" (goto "goto") (statement_identifier "LAB_00043899") (; ";")) (} "}"))))) (labeled_statement "LAB_000437c8:\n        bVar11 = *param_1;" (statement_identifier "LAB_000437c8") (: ":") (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" (identifier "bVar11") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";"))) (goto_statement "goto joined_r0x000437cb;" (goto "goto") (statement_identifier "joined_r0x000437cb") (; ";")) (} "}"))) (if_statement "if (uVar8 == 2) {\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }" (if "if") (parenthesized_expression "(uVar8 == 2)" (( "(") (binary_expression "uVar8 == 2" (identifier "uVar8") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        bVar11 = *param_1;\n        uVar4 = 2;\n        if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }\n        *(undefined4 *)(param_1 + 0x30) = uVar4;\n        goto joined_r0x000437cb;\n      }" ({ "{") (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" (identifier "bVar11") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar4 = 2;" (assignment_expression "uVar4 = 2" (identifier "uVar4") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((bVar11 & 1) != 0) {\n          uVar4 = 9;\n        }" (if "if") (parenthesized_expression "((bVar11 & 1) != 0)" (( "(") (binary_expression "(bVar11 & 1) != 0" (parenthesized_expression "(bVar11 & 1)" (( "(") (binary_expression "bVar11 & 1" (identifier "bVar11") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar4 = 9;\n        }" ({ "{") (expression_statement "uVar4 = 9;" (assignment_expression "uVar4 = 9" (identifier "uVar4") (= "=") (number_literal "9")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(param_1 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(param_1 + 0x30) = 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")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (goto_statement "goto joined_r0x000437cb;" (goto "goto") (statement_identifier "joined_r0x000437cb") (; ";")) (} "}"))) (if_statement "if (2 < uVar8) {\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }" (if "if") (parenthesized_expression "(2 < uVar8)" (( "(") (binary_expression "2 < uVar8" (number_literal "2") (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n        if (uVar8 == 5) goto LAB_00043899;\n        if (uVar8 != 7) goto LAB_00043958;\n        if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 1;\n        goto LAB_00043668;\n      }" ({ "{") (if_statement "if (uVar8 == 5) goto LAB_00043899;" (if "if") (parenthesized_expression "(uVar8 == 5)" (( "(") (binary_expression "uVar8 == 5" (identifier "uVar8") (== "==") (number_literal "5")) () ")")) (goto_statement "goto LAB_00043899;" (goto "goto") (statement_identifier "LAB_00043899") (; ";"))) (if_statement "if (uVar8 != 7) goto LAB_00043958;" (if "if") (parenthesized_expression "(uVar8 != 7)" (( "(") (binary_expression "uVar8 != 7" (identifier "uVar8") (!= "!=") (number_literal "7")) () ")")) (goto_statement "goto LAB_00043958;" (goto "goto") (statement_identifier "LAB_00043958") (; ";"))) (if_statement "if ((*param_1 & 1) != 0) {\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }" (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")) () ")")) (compound_statement "{\n                    \n          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);\n        }" ({ "{") (expression_statement "FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);" (call_expression "FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX)" (identifier "FUN_0002ad70") (argument_list "(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX)" (( "(") (binary_expression "unaff_EDI + 0xde95" (identifier "unaff_EDI") (+ "+") (number_literal "0xde95")) (, ",") (number_literal "0x94b") (, ",") (binary_expression "unaff_EDI + 0xe3b1" (identifier "unaff_EDI") (+ "+") (number_literal "0xe3b1")) (, ",") (identifier "unaff_EBX") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*param_1 & 0x20) == 0) goto LAB_0004367e;" (if "if") (parenthesized_expression "((*param_1 & 0x20) == 0)" (( "(") (binary_expression "(*param_1 & 0x20) == 0" (parenthesized_expression "(*param_1 & 0x20)" (( "(") (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";"))) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00043668;" (goto "goto") (statement_identifier "LAB_00043668") (; ";")) (} "}"))) (if_statement "if (uVar8 != 1) {\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }" (if "if") (parenthesized_expression "(uVar8 != 1)" (( "(") (binary_expression "uVar8 != 1" (identifier "uVar8") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\nLAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);\n        if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }\n        uVar4 = *(undefined4 *)(param_1 + 0x30);\n        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);\n                    \n        FUN_0002acf0(uVar5,uVar4);\n      }" ({ "{") (labeled_statement "LAB_00043958:\n        iVar7 = bfd_get_reloc_code_name(uVar8);" (statement_identifier "LAB_00043958") (: ":") (expression_statement "iVar7 = bfd_get_reloc_code_name(uVar8);" (assignment_expression "iVar7 = bfd_get_reloc_code_name(uVar8)" (identifier "iVar7") (= "=") (call_expression "bfd_get_reloc_code_name(uVar8)" (identifier "bfd_get_reloc_code_name") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";"))) (if_statement "if (iVar7 != 0) {\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);\n                    \n          FUN_0002acf0(uVar4,iVar7);\n        }" ({ "{") (expression_statement "uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);" (assignment_expression "uVar4 = dcgettext(0,unaff_EDI + 0xe125,5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,unaff_EDI + 0xe125,5)" (identifier "dcgettext") (argument_list "(0,unaff_EDI + 0xe125,5)" (( "(") (number_literal "0") (, ",") (binary_expression "unaff_EDI + 0xe125" (identifier "unaff_EDI") (+ "+") (number_literal "0xe125")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002acf0(uVar4,iVar7);" (call_expression "FUN_0002acf0(uVar4,iVar7)" (identifier "FUN_0002acf0") (argument_list "(uVar4,iVar7)" (( "(") (identifier "uVar4") (, ",") (identifier "iVar7") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x30);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x30)" (identifier "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")) () ")"))))) (; ";")) (expression_statement "uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);" (assignment_expression "uVar5 = dcgettext(0,unaff_EDI + 0xe141,5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,unaff_EDI + 0xe141,5)" (identifier "dcgettext") (argument_list "(0,unaff_EDI + 0xe141,5)" (( "(") (number_literal "0") (, ",") (binary_expression "unaff_EDI + 0xe141" (identifier "unaff_EDI") (+ "+") (number_literal "0xe141")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002acf0(uVar5,uVar4);" (call_expression "FUN_0002acf0(uVar5,uVar4)" (identifier "FUN_0002acf0") (argument_list "(uVar5,uVar4)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar4") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" (identifier "bVar11") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bVar11 & 1) != 0) {\n        uVar4 = 8;\n      }" (if "if") (parenthesized_expression "((bVar11 & 1) != 0)" (( "(") (binary_expression "(bVar11 & 1) != 0" (parenthesized_expression "(bVar11 & 1)" (( "(") (binary_expression "bVar11 & 1" (identifier "bVar11") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar4 = 8;\n      }" ({ "{") (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" (identifier "uVar4") (= "=") (number_literal "8")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(param_1 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(param_1 + 0x30) = 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")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (goto_statement "goto joined_r0x0004371e;" (goto "goto") (statement_identifier "joined_r0x0004371e") (; ";")) (} "}"))) (labeled_statement "LAB_00043995:\n    param_1[0x30] = 9;" (statement_identifier "LAB_00043995") (: ":") (expression_statement "param_1[0x30] = 9;" (assignment_expression "param_1[0x30] = 9" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "9")) (; ";"))) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" (identifier "bVar11") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (labeled_statement "joined_r0x000437cb:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" (statement_identifier "joined_r0x000437cb") (: ":") (if_statement "if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" (if "if") (parenthesized_expression "((bVar11 & 0x20) == 0)" (( "(") (binary_expression "(bVar11 & 0x20) == 0" (parenthesized_expression "(bVar11 & 0x20)" (( "(") (binary_expression "bVar11 & 0x20" (identifier "bVar11") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";")))) (expression_statement "uVar4 = 4;" (assignment_expression "uVar4 = 4" (identifier "uVar4") (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }" (else "else") (compound_statement "{\n    if (uVar8 == 0x56d) goto LAB_000437c8;\n    if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }\n    if (uVar8 == 0x567) goto LAB_00043d00;\n    if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }\nLAB_0004371b:\n    bVar11 = *param_1;\njoined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n    uVar4 = 8;\n  }" ({ "{") (if_statement "if (uVar8 == 0x56d) goto LAB_000437c8;" (if "if") (parenthesized_expression "(uVar8 == 0x56d)" (( "(") (binary_expression "uVar8 == 0x56d" (identifier "uVar8") (== "==") (number_literal "0x56d")) () ")")) (goto_statement "goto LAB_000437c8;" (goto "goto") (statement_identifier "LAB_000437c8") (; ";"))) (if_statement "if (0x56d < uVar8) {\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }" (if "if") (parenthesized_expression "(0x56d < uVar8)" (( "(") (binary_expression "0x56d < uVar8" (number_literal "0x56d") (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n      if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }\n      FUN_00039ca0(iVar13);\n      goto LAB_0004367e;\n    }" ({ "{") (if_statement "if (uVar8 < 0x583) {\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }\n      else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" (if "if") (parenthesized_expression "(uVar8 < 0x583)" (( "(") (binary_expression "uVar8 < 0x583" (identifier "uVar8") (< "<") (number_literal "0x583")) () ")")) (compound_statement "{\n        if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }\n      }" ({ "{") (if_statement "if (uVar8 < 0x57c) {\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }" (if "if") (parenthesized_expression "(uVar8 < 0x57c)" (( "(") (binary_expression "uVar8 < 0x57c" (identifier "uVar8") (< "<") (number_literal "0x57c")) () ")")) (compound_statement "{\n          if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }\n          if (uVar8 < 0x56f) goto LAB_0004371b;\n        }" ({ "{") (if_statement "if (0x57a < uVar8) {\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }" (if "if") (parenthesized_expression "(0x57a < uVar8)" (( "(") (binary_expression "0x57a < uVar8" (number_literal "0x57a") (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n            FUN_00039ca0(iVar13);\n            bVar14 = 0xfffffffd < local_44;\n            local_44 = local_44 + 2;\n            local_40 = local_40 + bVar14;\n            goto LAB_0004367e;\n          }" ({ "{") (expression_statement "FUN_00039ca0(iVar13);" (call_expression "FUN_00039ca0(iVar13)" (identifier "FUN_00039ca0") (argument_list "(iVar13)" (( "(") (identifier "iVar13") () ")"))) (; ";")) (expression_statement "bVar14 = 0xfffffffd < local_44;" (assignment_expression "bVar14 = 0xfffffffd < local_44" (identifier "bVar14") (= "=") (binary_expression "0xfffffffd < local_44" (number_literal "0xfffffffd") (< "<") (identifier "local_44"))) (; ";")) (expression_statement "local_44 = local_44 + 2;" (assignment_expression "local_44 = local_44 + 2" (identifier "local_44") (= "=") (binary_expression "local_44 + 2" (identifier "local_44") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_40 = local_40 + bVar14;" (assignment_expression "local_40 = local_40 + bVar14" (identifier "local_40") (= "=") (binary_expression "local_40 + bVar14" (identifier "local_40") (+ "+") (identifier "bVar14"))) (; ";")) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";")) (} "}"))) (if_statement "if (uVar8 < 0x56f) goto LAB_0004371b;" (if "if") (parenthesized_expression "(uVar8 < 0x56f)" (( "(") (binary_expression "uVar8 < 0x56f" (identifier "uVar8") (< "<") (number_literal "0x56f")) () ")")) (goto_statement "goto LAB_0004371b;" (goto "goto") (statement_identifier "LAB_0004371b") (; ";"))) (} "}"))) (} "}")) (else_clause "else if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" (else "else") (if_statement "if (uVar8 != 0x586) {\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" (if "if") (parenthesized_expression "(uVar8 != 0x586)" (( "(") (binary_expression "uVar8 != 0x586" (identifier "uVar8") (!= "!=") (number_literal "0x586")) () ")")) (compound_statement "{\n        if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }\n        if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }\n        goto LAB_0004367e;\n      }" ({ "{") (if_statement "if (0x585 < uVar8) {\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }" (if "if") (parenthesized_expression "(0x585 < uVar8)" (( "(") (binary_expression "0x585 < uVar8" (number_literal "0x585") (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n          if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }\n          goto LAB_00043958;\n        }" ({ "{") (if_statement "if (uVar8 - 0x5a3 < 2) {\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }" (if "if") (parenthesized_expression "(uVar8 - 0x5a3 < 2)" (( "(") (binary_expression "uVar8 - 0x5a3 < 2" (binary_expression "uVar8 - 0x5a3" (identifier "uVar8") (- "-") (number_literal "0x5a3")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            *param_1 = *param_1 & 0xdf;\n            return;\n          }" ({ "{") (expression_statement "*param_1 = *param_1 & 0xdf;" (assignment_expression "*param_1 = *param_1 & 0xdf" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (binary_expression "*param_1 & 0xdf" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "0xdf"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_00043958;" (goto "goto") (statement_identifier "LAB_00043958") (; ";")) (} "}"))) (if_statement "if ((*param_1 & 0x20) != 0) {\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }" (if "if") (parenthesized_expression "((*param_1 & 0x20) != 0)" (( "(") (binary_expression "(*param_1 & 0x20) != 0" (parenthesized_expression "(*param_1 & 0x20)" (( "(") (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar8 = bfd_getb32(iVar7);\n          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);\n        }" ({ "{") (expression_statement "uVar8 = bfd_getb32(iVar7);" (assignment_expression "uVar8 = bfd_getb32(iVar7)" (identifier "uVar8") (= "=") (call_expression "bfd_getb32(iVar7)" (identifier "bfd_getb32") (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);" (call_expression "bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7)" (identifier "bfd_putb32") (argument_list "(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7)" (( "(") (binary_expression "local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8" (binary_expression "local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8" (binary_expression "local_44 >> 0xc & 0xff" (binary_expression "local_44 >> 0xc" (identifier "local_44") (>> ">>") (number_literal "0xc")) (& "&") (number_literal "0xff")) (| "|") (binary_expression "(local_44 & 0xfff) << 8" (parenthesized_expression "(local_44 & 0xfff)" (( "(") (binary_expression "local_44 & 0xfff" (identifier "local_44") (& "&") (number_literal "0xfff")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (identifier "uVar8")) (, ",") (number_literal "0") (, ",") (identifier "iVar7") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";")) (} "}"))))) (expression_statement "FUN_00039ca0(iVar13);" (call_expression "FUN_00039ca0(iVar13)" (identifier "FUN_00039ca0") (argument_list "(iVar13)" (( "(") (identifier "iVar13") () ")"))) (; ";")) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";")) (} "}"))) (if_statement "if (uVar8 == 0x567) goto LAB_00043d00;" (if "if") (parenthesized_expression "(uVar8 == 0x567)" (( "(") (binary_expression "uVar8 == 0x567" (identifier "uVar8") (== "==") (number_literal "0x567")) () ")")) (goto_statement "goto LAB_00043d00;" (goto "goto") (statement_identifier "LAB_00043d00") (; ";"))) (if_statement "if (uVar8 < 0x568) {\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }\n    else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" (if "if") (parenthesized_expression "(uVar8 < 0x568)" (( "(") (binary_expression "uVar8 < 0x568" (identifier "uVar8") (< "<") (number_literal "0x568")) () ")")) (compound_statement "{\n      if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }\n    }" ({ "{") (if_statement "if (uVar8 == 0x565) {\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }" (if "if") (parenthesized_expression "(uVar8 == 0x565)" (( "(") (binary_expression "uVar8 == 0x565" (identifier "uVar8") (== "==") (number_literal "0x565")) () ")")) (compound_statement "{\nLAB_00043748:\n        uVar8 = (uint)(char)param_1[1];\n        bVar14 = CARRY4(local_44,uVar8);\n        local_44 = local_44 + uVar8;\n        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;\n        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;\n        uVar4 = 4;\n        goto LAB_00043760;\n      }" ({ "{") (labeled_statement "LAB_00043748:\n        uVar8 = (uint)(char)param_1[1];" (statement_identifier "LAB_00043748") (: ":") (expression_statement "uVar8 = (uint)(char)param_1[1];" (assignment_expression "uVar8 = (uint)(char)param_1[1]" (identifier "uVar8") (= "=") (cast_expression "(uint)(char)param_1[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)param_1[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))))) (; ";"))) (expression_statement "bVar14 = CARRY4(local_44,uVar8);" (assignment_expression "bVar14 = CARRY4(local_44,uVar8)" (identifier "bVar14") (= "=") (call_expression "CARRY4(local_44,uVar8)" (identifier "CARRY4") (argument_list "(local_44,uVar8)" (( "(") (identifier "local_44") (, ",") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "local_44 = local_44 + uVar8;" (assignment_expression "local_44 = local_44 + uVar8" (identifier "local_44") (= "=") (binary_expression "local_44 + uVar8" (identifier "local_44") (+ "+") (identifier "uVar8"))) (; ";")) (expression_statement "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;" (assignment_expression "local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (identifier "local_40") (= "=") (binary_expression "local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14" (binary_expression "local_40 + ((int)uVar8 >> 0x1f)" (identifier "local_40") (+ "+") (parenthesized_expression "((int)uVar8 >> 0x1f)" (( "(") (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (>> ">>") (number_literal "0x1f")) () ")"))) (+ "+") (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")))) (; ";")) (if_statement "if ((*param_1 & 0x20) == 0) goto LAB_0004367e;" (if "if") (parenthesized_expression "((*param_1 & 0x20) == 0)" (( "(") (binary_expression "(*param_1 & 0x20) == 0" (parenthesized_expression "(*param_1 & 0x20)" (( "(") (binary_expression "*param_1 & 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";"))) (expression_statement "uVar4 = 4;" (assignment_expression "uVar4 = 4" (identifier "uVar4") (= "=") (number_literal "4")) (; ";")) (goto_statement "goto LAB_00043760;" (goto "goto") (statement_identifier "LAB_00043760") (; ";")) (} "}"))) (} "}")) (else_clause "else if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" (else "else") (if_statement "if (uVar8 != 0x56a) {\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" (if "if") (parenthesized_expression "(uVar8 != 0x56a)" (( "(") (binary_expression "uVar8 != 0x56a" (identifier "uVar8") (!= "!=") (number_literal "0x56a")) () ")")) (compound_statement "{\n      if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }\nLAB_0004387f:\n      bVar11 = *param_1;\njoined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;\n      uVar4 = 2;\n      goto LAB_00043668;\n    }" ({ "{") (if_statement "if (uVar8 < 0x56b) {\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }\n      else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }" (if "if") (parenthesized_expression "(uVar8 < 0x56b)" (( "(") (binary_expression "uVar8 < 0x56b" (identifier "uVar8") (< "<") (number_literal "0x56b")) () ")")) (compound_statement "{\n        if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }\n      }" ({ "{") (if_statement "if (uVar8 != 0x568) {\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }" (if "if") (parenthesized_expression "(uVar8 != 0x568)" (( "(") (binary_expression "uVar8 != 0x568" (identifier "uVar8") (!= "!=") (number_literal "0x568")) () ")")) (compound_statement "{\n          if (uVar8 != 0x569) goto LAB_00043958;\n          goto LAB_000437c8;\n        }" ({ "{") (if_statement "if (uVar8 != 0x569) goto LAB_00043958;" (if "if") (parenthesized_expression "(uVar8 != 0x569)" (( "(") (binary_expression "uVar8 != 0x569" (identifier "uVar8") (!= "!=") (number_literal "0x569")) () ")")) (goto_statement "goto LAB_00043958;" (goto "goto") (statement_identifier "LAB_00043958") (; ";"))) (goto_statement "goto LAB_000437c8;" (goto "goto") (statement_identifier "LAB_000437c8") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }" (else "else") (compound_statement "{\n        if (uVar8 == 0x56b) goto LAB_00043748;\n        if (uVar8 != 0x56c) goto LAB_00043958;\n      }" ({ "{") (if_statement "if (uVar8 == 0x56b) goto LAB_00043748;" (if "if") (parenthesized_expression "(uVar8 == 0x56b)" (( "(") (binary_expression "uVar8 == 0x56b" (identifier "uVar8") (== "==") (number_literal "0x56b")) () ")")) (goto_statement "goto LAB_00043748;" (goto "goto") (statement_identifier "LAB_00043748") (; ";"))) (if_statement "if (uVar8 != 0x56c) goto LAB_00043958;" (if "if") (parenthesized_expression "(uVar8 != 0x56c)" (( "(") (binary_expression "uVar8 != 0x56c" (identifier "uVar8") (!= "!=") (number_literal "0x56c")) () ")")) (goto_statement "goto LAB_00043958;" (goto "goto") (statement_identifier "LAB_00043958") (; ";"))) (} "}")))) (labeled_statement "LAB_0004387f:\n      bVar11 = *param_1;" (statement_identifier "LAB_0004387f") (: ":") (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" (identifier "bVar11") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";"))) (labeled_statement "joined_r0x00043882:\n      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" (statement_identifier "joined_r0x00043882") (: ":") (if_statement "if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" (if "if") (parenthesized_expression "((bVar11 & 0x20) == 0)" (( "(") (binary_expression "(bVar11 & 0x20) == 0" (parenthesized_expression "(bVar11 & 0x20)" (( "(") (binary_expression "bVar11 & 0x20" (identifier "bVar11") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";")))) (expression_statement "uVar4 = 2;" (assignment_expression "uVar4 = 2" (identifier "uVar4") (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_00043668;" (goto "goto") (statement_identifier "LAB_00043668") (; ";")) (} "}"))))) (labeled_statement "LAB_0004371b:\n    bVar11 = *param_1;" (statement_identifier "LAB_0004371b") (: ":") (expression_statement "bVar11 = *param_1;" (assignment_expression "bVar11 = *param_1" (identifier "bVar11") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";"))) (labeled_statement "joined_r0x0004371e:\n    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" (statement_identifier "joined_r0x0004371e") (: ":") (if_statement "if ((bVar11 & 0x20) == 0) goto LAB_0004367e;" (if "if") (parenthesized_expression "((bVar11 & 0x20) == 0)" (( "(") (binary_expression "(bVar11 & 0x20) == 0" (parenthesized_expression "(bVar11 & 0x20)" (( "(") (binary_expression "bVar11 & 0x20" (identifier "bVar11") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004367e;" (goto "goto") (statement_identifier "LAB_0004367e") (; ";")))) (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" (identifier "uVar4") (= "=") (number_literal "8")) (; ";")) (} "}")))) (labeled_statement "LAB_00043668:\n  FUN_0003fb00(iVar7,local_44,local_40,uVar4);" (statement_identifier "LAB_00043668") (: ":") (expression_statement "FUN_0003fb00(iVar7,local_44,local_40,uVar4);" (call_expression "FUN_0003fb00(iVar7,local_44,local_40,uVar4)" (identifier "FUN_0003fb00") (argument_list "(iVar7,local_44,local_40,uVar4)" (( "(") (identifier "iVar7") (, ",") (identifier "local_44") (, ",") (identifier "local_40") (, ",") (identifier "uVar4") () ")"))) (; ";"))) (labeled_statement "LAB_0004367e:\n  *(uint *)(param_1 + 0x14) = local_44;" (statement_identifier "LAB_0004367e") (: ":") (expression_statement "*(uint *)(param_1 + 0x14) = local_44;" (assignment_expression "*(uint *)(param_1 + 0x14) = local_44" (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "local_44")) (; ";"))) (expression_statement "*(uint *)(param_1 + 0x18) = local_40;" (assignment_expression "*(uint *)(param_1 + 0x18) = local_40" (pointer_expression "*(uint *)(param_1 + 0x18)" (* "*") (cast_expression "(uint *)(param_1 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

void function_1(type_1 *var_9,type_2 *var_2,type_3 seg)

{
  int *var_20;
  type_4 *var_8;
  type_5 *pfVar2;
  type_6 var_35;
  char *pcVar4;
  type_7 uVar5;
  char *pcVar6;
  int var_19;
  char *var_38;
  type_8 var_16;
  type_9 var_12;
  type_9 var_13;
  char *format;
  type_10 var_32;
  int var_6;
  bool var_59;
  type_9 var_11;
  type_9 var_14;
  char *sfile;
  type_9 sline;
  
  var_1();
  var_14 = *(type_9 *)((int)var_2 + 4);
  var_11 = (type_9)*var_2;
  var_38 = var_9->fx_frag->fr_literal + var_9->fx_where;
  if (var_9->fx_subsy != (type_4 *)0x0) {
    pcVar4 = var_3(var_9->fx_subsy);
    uVar5 = var_4(var_9->fx_r_type);
    pcVar6 = (char *)var_5(0,var_6 + 0xdde5,5);
    var_7(var_9->fx_file,var_9->fx_line,pcVar6,uVar5,pcVar4);
  }
  var_8 = var_9->fx_addsy;
  if (var_8 == (type_4 *)0x0) {
    *(type_10 *)var_9 = *(type_10 *)var_9 | 0x20;
LAB_00043514:
    var_16 = var_9->fx_r_type;
  }
  else {
    if ((type_11  [68])((type_11  [68])*var_9 & (type_11  [68])0x1) == (type_11  [68])0x0
       ) goto LAB_00043514;
    pfVar2 = var_9->fx_frag;
    var_59 = var_10(var_11,(type_9)pfVar2->fr_address);
    var_13 = var_11 + (int)pfVar2->fr_address;
    var_12 = var_9->fx_where;
    var_11 = var_12 + var_13;
    var_16 = var_9->fx_r_type;
    var_14 = ((int)var_12 >> 0x1f) +
               var_14 + *(int *)((int)&pfVar2->fr_address + 4) + (type_9)var_59 +
               (type_9)var_10(var_12,var_13);
  }
  if (0x8cd < (int)var_16) {
    if ((type_11  [68])((type_11  [68])*var_9 & (type_11  [68])0x20) !=
        (type_11  [68])0x0) {
      var_15((type_12 *)var_38,
                          (type_13 *)
                          (*(int *)(var_6 + 0x24b09) + (var_16 - var_17) * 0xc),
                          var_18(var_14,var_11),var_9->fx_file,var_9->fx_line);
      return;
    }
    var_20 = (int *)(*(int *)(var_6 + 0x24b09) + (var_16 - var_17) * 0xc);
    *(type_9 *)&var_9->fx_offset = var_11;
    var_19 = *var_20;
    *(type_9 *)((int)&var_9->fx_offset + 4) = var_14;
    if (var_19 == 0xc) {
      var_19 = var_20[1];
      if (var_19 == 0x14) {
        var_9->fx_size = '\x02';
        var_9->fx_where = var_9->fx_where + 2;
        var_9->fx_r_type = var_30;
        return;
      }
      if (var_19 == 0x24) {
        var_9->fx_size = '\x02';
        var_9->fx_where = var_9->fx_where + 4;
        var_9->fx_r_type = var_30;
        return;
      }
      if ((var_19 == 0xc) && ((*(type_10 *)(var_20 + 2) & 0x80) != 0)) {
        var_9->fx_r_type = var_26;
        var_9->fx_where = var_9->fx_where + 1;
        *(type_9 *)&var_9->fx_offset = var_11 + 1;
        *(type_9 *)((int)&var_9->fx_offset + 4) = var_14 + (0xfffffffe < var_11);
        var_9->fx_pcrel_adjust = '\x01';
        var_9->fx_size = '\x02';
        return;
      }
    }
    else if (var_19 == 0x14) {
      if (var_20[1] == 0x14) {
        var_9->fx_size = '\x02';
        var_9->fx_where = var_9->fx_where + 2;
        var_9->fx_r_type = var_55;
        return;
      }
    }
    else if (var_19 == 8) {
      if (var_20[1] == 8) {
        var_9->fx_size = '\x01';
        var_9->fx_where = var_9->fx_where + 1;
        var_9->fx_r_type = var_50;
        return;
      }
    }
    else if (var_19 == 0x10) {
      if (var_20[1] == 0x10) {
        var_9->fx_size = '\x02';
        var_9->fx_where = var_9->fx_where + 2;
        if ((*(type_10 *)(var_20 + 2) & 0x80) != 0) {
          var_9->fx_r_type = var_25;
          var_9->fx_pcrel_adjust = '\x02';
          *(type_9 *)&var_9->fx_offset = var_11 + 2;
          *(type_9 *)((int)&var_9->fx_offset + 4) = var_14 + (0xfffffffd < var_11);
          return;
        }
        var_9->fx_r_type = var_49;
        return;
      }
      if ((var_20[1] == 0x20) && ((*(type_10 *)(var_20 + 2) & 0x80) != 0)) {
        var_9->fx_r_type = var_25;
        var_9->fx_where = var_9->fx_where + 4;
        *(type_9 *)&var_9->fx_offset = var_11 + 4;
        *(type_9 *)((int)&var_9->fx_offset + 4) = var_14 + (0xfffffffb < var_11);
        var_9->fx_pcrel_adjust = '\x04';
        var_9->fx_size = '\x02';
        return;
      }
    }
    else if (var_19 == 0x18) {
      if ((var_20[1] == 0x18) && ((*(type_10 *)(var_20 + 2) & 0x80) != 0)) {
        var_9->fx_r_type = BFD_RELOC_390_PC24DBL;
        var_9->fx_where = var_9->fx_where + 3;
        var_9->fx_pcrel_adjust = '\x03';
        var_9->fx_size = '\x03';
        *(type_9 *)&var_9->fx_offset = var_11 + 3;
        *(type_9 *)((int)&var_9->fx_offset + 4) = var_14 + (0xfffffffc < var_11);
        return;
      }
    }
    else if (((var_19 == 0x20) && (var_20[1] == 0x10)) && ((*(type_10 *)(var_20 + 2) & 0x80) != 0)) {
      var_9->fx_r_type = BFD_RELOC_390_PC32DBL;
      var_9->fx_where = var_9->fx_where + 2;
      var_9->fx_pcrel_adjust = '\x02';
      var_9->fx_size = '\x04';
      *(type_9 *)&var_9->fx_offset = var_11 + 2;
      *(type_9 *)((int)&var_9->fx_offset + 4) = var_14 + (0xfffffffd < var_11);
      return;
    }
    var_19 = var_21(var_8,&sfile,&sline);
    if (var_19 == 0) {
      var_19 = var_6 + 0xe109;
    }
    else {
      var_19 = var_6 + 0xde19;
    }
    var_38 = (char *)var_5(0,var_19,5);
    var_7(var_9->fx_file,var_9->fx_line,var_38);
    *(type_10 *)var_9 = *(type_10 *)var_9 | 0x20;
    return;
  }
  if (var_16 < var_22) {
    if (var_23 < var_16) goto LAB_00043748;
    if (var_16 != var_24) {
      if (var_24 < var_16) {
        if (var_16 < var_25) {
          if (var_16 < var_26) {
            if (var_27 < var_16) {
              if (var_16 != var_28) {
                if (var_16 != var_29) goto LAB_00043958;
                goto LAB_0004387f;
              }
              goto LAB_000437c8;
            }
            if (var_16 < var_30) {
              if (var_16 != var_31) goto LAB_00043958;
              goto LAB_00043899;
            }
          }
LAB_00043d00:
          var_32 = *(type_10 *)var_9 & 0x20;
          if ((*(type_10 *)var_9 & 1) == 0) {
            if (var_32 == 0) goto LAB_0004367e;
          }
          else {
            var_12 = (type_9)var_9->fx_pcrel_adjust;
            var_59 = var_10(var_11,var_12);
            var_11 = var_11 + var_12;
            var_14 = var_14 + ((int)var_12 >> 0x1f) + (type_9)var_59;
            if (var_32 == 0) goto LAB_0004367e;
            var_11 = var_11 >> 1 | var_14 * -0x80000000;
            var_14 = var_14 >> 1;
          }
          var_35 = var_33(var_38);
          var_34((type_6)var_11 & 0xfff | var_35,0,var_38);
          goto LAB_0004367e;
        }
        if (var_36 < var_16) {
          var_12 = (type_9)var_9->fx_pcrel_adjust;
          var_59 = var_10(var_11,var_12);
          var_11 = var_11 + var_12;
          var_14 = var_14 + ((int)var_12 >> 0x1f) + (type_9)var_59;
          if ((type_11  [68])((type_11  [68])*var_9 & (type_11  [68])0x20) !=
              (type_11  [68])0x0) {
            var_12 = var_11 >> 1;
            var_11 = var_12 | var_14 * -0x80000000;
            var_14 = var_14 >> 1;
            var_13 = var_37(var_38 + -1);
            var_39(var_13 | var_12 & 0xffffff,0,var_38 + -1);
          }
          goto LAB_0004367e;
        }
        var_12 = (type_9)var_9->fx_pcrel_adjust;
        var_59 = var_10(var_11,var_12);
        var_11 = var_11 + var_12;
        var_14 = var_14 + ((int)var_12 >> 0x1f) + (type_9)var_59;
        if ((type_11  [68])((type_11  [68])*var_9 & (type_11  [68])0x20) ==
            (type_11  [68])0x0) goto LAB_0004367e;
        var_19 = 2;
LAB_00043760:
        var_40
                  (var_38,var_18((int)var_14 >> 1,var_11 >> 1 | var_14 << 0x1f),var_19);
        goto LAB_0004367e;
      }
      if (var_16 == var_41) goto LAB_0004371b;
      if (var_41 < var_16) {
        if (var_16 == var_42) {
LAB_00043899:
          var_32 = *(type_10 *)var_9;
          if ((var_32 & 1) != 0) {
            if (var_8 == (type_4 *)0x0) {
              pcVar4 = (char *)(var_6 + 0x967e);
              pcVar6 = pcVar4;
            }
            else {
              pcVar6 = var_3(var_8);
              var_16 = var_9->fx_r_type;
              if (var_9->fx_addsy == (type_4 *)0x0) {
                pcVar4 = (char *)(var_6 + 0x967e);
              }
              else {
                pcVar4 = (char *)(var_6 + 0xe0ff);
              }
            }
            uVar5 = var_4(var_16);
            format = (char *)var_5(0,var_6 + 0xde45,5);
            var_7(var_9->fx_file,var_9->fx_line,format,uVar5,pcVar4,pcVar6);
            var_32 = *(type_10 *)var_9;
          }
          goto joined_r0x00043882;
        }
        if (var_16 < var_43) {
          if (var_16 == var_44) goto LAB_00043995;
          if (var_16 != var_45) goto LAB_00043958;
        }
        else if (var_16 != var_46) {
          if (var_16 != var_47) goto LAB_00043958;
          goto LAB_00043899;
        }
LAB_000437c8:
        var_32 = *(type_10 *)var_9;
        goto joined_r0x000437cb;
      }
      if (var_16 == var_48) {
        var_32 = *(type_10 *)var_9;
        var_16 = var_48;
        if ((var_32 & 1) != 0) {
          var_16 = var_44;
        }
        var_9->fx_r_type = var_16;
        goto joined_r0x000437cb;
      }
      if (var_48 < var_16) {
        if (var_16 == var_49) goto LAB_00043899;
        if (var_16 != var_50) goto LAB_00043958;
        if ((type_11  [68])((type_11  [68])*var_9 & (type_11  [68])0x1) !=
            (type_11  [68])0x0) {
                    /* WARNING: Subroutine does not return */
          var_51((char *)(var_6 + 0xde95),0x94b,(char *)(var_6 + 0xe3b1));
        }
        if ((type_11  [68])((type_11  [68])*var_9 & (type_11  [68])0x20) ==
            (type_11  [68])0x0) goto LAB_0004367e;
        var_19 = 1;
        goto LAB_00043668;
      }
      if (var_16 != var_52) {
LAB_00043958:
        var_19 = var_4(var_16);
        if (var_19 != 0) {
          var_38 = (char *)var_5(0,var_6 + 0xe125,5);
                    /* WARNING: Subroutine does not return */
          var_53(var_38,var_19);
        }
        var_16 = var_9->fx_r_type;
        var_38 = (char *)var_5(0,var_6 + 0xe141,5);
                    /* WARNING: Subroutine does not return */
        var_53(var_38,var_16);
      }
      var_32 = *(type_10 *)var_9;
      var_16 = var_52;
      if ((var_32 & 1) != 0) {
        var_16 = var_41;
      }
      var_9->fx_r_type = var_16;
      goto joined_r0x0004371e;
    }
LAB_00043995:
    var_9->fx_r_type = var_44;
    var_32 = *(type_10 *)var_9;
joined_r0x000437cb:
    if ((var_32 & 0x20) == 0) goto LAB_0004367e;
    var_19 = 4;
  }
  else {
    if (var_16 == var_54) goto LAB_000437c8;
    if (var_54 < var_16) {
      if (var_16 < var_55) {
        if (var_16 < var_56) {
          if (var_57 < var_16) {
            var_58(var_8);
            var_59 = 0xfffffffd < var_11;
            var_11 = var_11 + 2;
            var_14 = var_14 + var_59;
            goto LAB_0004367e;
          }
          if (var_16 < var_60) goto LAB_0004371b;
        }
      }
      else if (var_16 != var_61) {
        if (var_62 < var_16) {
          if (var_16 - var_63 < 2) {
            *(type_10 *)var_9 = *(type_10 *)var_9 & 0xdf;
            return;
          }
          goto LAB_00043958;
        }
        if ((type_11  [68])((type_11  [68])*var_9 & (type_11  [68])0x20) !=
            (type_11  [68])0x0) {
          var_12 = var_37(var_38);
          var_39(var_11 >> 0xc & 0xff | (var_11 & 0xfff) << 8 | var_12,0,var_38);
        }
        goto LAB_0004367e;
      }
      var_58(var_8);
      goto LAB_0004367e;
    }
    if (var_16 == var_64) goto LAB_00043d00;
    if (var_16 < var_65) {
      if (var_16 == var_66) {
LAB_00043748:
        var_12 = (type_9)var_9->fx_pcrel_adjust;
        var_59 = var_10(var_11,var_12);
        var_11 = var_11 + var_12;
        var_14 = var_14 + ((int)var_12 >> 0x1f) + (type_9)var_59;
        if ((type_11  [68])((type_11  [68])*var_9 & (type_11  [68])0x20) ==
            (type_11  [68])0x0) goto LAB_0004367e;
        var_19 = 4;
        goto LAB_00043760;
      }
    }
    else if (var_16 != var_67) {
      if (var_16 < var_68) {
        if (var_16 != var_65) {
          if (var_16 != var_69) goto LAB_00043958;
          goto LAB_000437c8;
        }
      }
      else {
        if (var_16 == var_68) goto LAB_00043748;
        if (var_16 != var_70) goto LAB_00043958;
      }
LAB_0004387f:
      var_32 = *(type_10 *)var_9;
joined_r0x00043882:
      if ((var_32 & 0x20) == 0) goto LAB_0004367e;
      var_19 = 2;
      goto LAB_00043668;
    }
LAB_0004371b:
    var_32 = *(type_10 *)var_9;
joined_r0x0004371e:
    if ((var_32 & 0x20) == 0) goto LAB_0004367e;
    var_19 = 8;
  }
LAB_00043668:
  var_40(var_38,var_18(var_14,var_11),var_19);
LAB_0004367e:
  *(type_9 *)&var_9->fx_offset = var_11;
  *(type_9 *)((int)&var_9->fx_offset + 4) = var_14;
  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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (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: (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))))))))) (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: (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (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) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (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))))))))) alternative: (else_clause (compound_statement (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (if_statement condition: (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 (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (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)))))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement))) (if_statement condition: (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: (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: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_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: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (return_statement))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (return_statement)))) alternative: (else_clause (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (return_statement))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (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: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (identifier)) (number_literal) (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) (identifier))))) (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: (number_literal) right: (identifier))) consequence: (compound_statement (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: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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: (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: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (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) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (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: (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)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (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))) (if_statement condition: (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 (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (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: (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: (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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (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: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (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: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (return_statement))) (goto_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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (identifier)) (number_literal) (identifier)))))) (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (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: (compound_statement (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (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: (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))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (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: (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (return_statement))))

void MASKED(byte *param_1,uint *param_2)

{
  int *piVar1;
  uint *puVar2;
  ushort uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  int iVar7;
  uint uVar8;
  uint uVar9;
  int iVar10;
  byte bVar11;
  uint uVar12;
  int iVar13;
  int unaff_EBX;
  int unaff_EDI;
  bool bVar14;
  uint local_44;
  uint local_40;
  undefined1 local_24 [4];
  undefined1 local_20 [16];
  
  FUN_0001c549();
  local_40 = param_2[1];
  local_44 = *param_2;
  iVar7 = *(int *)(param_1 + 4) + 0x4c + *(int *)(param_1 + 8);
  if (*(int *)(param_1 + 0x10) != 0) {
    uVar4 = FUN_00037470(*(int *)(param_1 + 0x10));
    uVar5 = bfd_get_reloc_code_name(*(undefined4 *)(param_1 + 0x30));
    uVar6 = dcgettext(0,unaff_EDI + 0xdde5,5);
    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar6,uVar5,uVar4);
    unaff_EBX = unaff_EDI + 0x24b79;
  }
  iVar13 = *(int *)(param_1 + 0xc);
  if (iVar13 == 0) {
    *param_1 = *param_1 | 0x20;
LAB_00043514:
    uVar8 = *(uint *)(param_1 + 0x30);
  }
  else {
    if ((*param_1 & 1) == 0) goto LAB_00043514;
    puVar2 = *(uint **)(param_1 + 4);
    uVar12 = local_44 + *puVar2;
    unaff_EBX = local_40 + puVar2[1] + (uint)CARRY4(local_44,*puVar2);
    uVar9 = *(uint *)(param_1 + 8);
    local_44 = uVar9 + uVar12;
    uVar8 = *(uint *)(param_1 + 0x30);
    local_40 = ((int)uVar9 >> 0x1f) + unaff_EBX + (uint)CARRY4(uVar9,uVar12);
  }
  if (0x8cd < (int)uVar8) {
    if ((*param_1 & 0x20) != 0) {
      FUN_00040960(local_44,local_40,*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40)
                  );
      return;
    }
    piVar1 = (int *)(*(int *)(unaff_EDI + 0x24b09) + (uVar8 - 0x8ce) * 0xc);
    *(uint *)(param_1 + 0x14) = local_44;
    iVar7 = *piVar1;
    *(uint *)(param_1 + 0x18) = local_40;
    if (iVar7 == 0xc) {
      iVar7 = piVar1[1];
      if (iVar7 == 0x14) {
        param_1[2] = 2;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;
        param_1[0x30] = 0x51;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        return;
      }
      if (iVar7 == 0x24) {
        param_1[2] = 2;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;
        param_1[0x30] = 0x51;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        return;
      }
      if ((iVar7 == 0xc) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
        param_1[0x30] = 0x5a;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;
        *(uint *)(param_1 + 0x14) = local_44 + 1;
        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffe < local_44);
        param_1[1] = 1;
        param_1[2] = 2;
        return;
      }
    }
    else if (iVar7 == 0x14) {
      if (piVar1[1] == 0x14) {
        param_1[2] = 2;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;
        param_1[0x30] = 0x83;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        return;
      }
    }
    else if (iVar7 == 8) {
      if (piVar1[1] == 8) {
        param_1[2] = 1;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;
        param_1[0x30] = 7;
        param_1[0x31] = 0;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        return;
      }
    }
    else if (iVar7 == 0x10) {
      if (piVar1[1] == 0x10) {
        param_1[2] = 2;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;
        if ((*(byte *)(piVar1 + 2) & 0x80) != 0) {
          param_1[0x30] = 0x5c;
          param_1[0x31] = 5;
          param_1[0x32] = 0;
          param_1[0x33] = 0;
          param_1[1] = 2;
          *(uint *)(param_1 + 0x14) = local_44 + 2;
          *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);
          return;
        }
        param_1[0x30] = 5;
        param_1[0x31] = 0;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        return;
      }
      if ((piVar1[1] == 0x20) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
        param_1[0x30] = 0x5c;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 4;
        *(uint *)(param_1 + 0x14) = local_44 + 4;
        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffb < local_44);
        param_1[1] = 4;
        param_1[2] = 2;
        return;
      }
    }
    else if (iVar7 == 0x18) {
      if ((piVar1[1] == 0x18) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
        param_1[0x30] = 0x5e;
        param_1[0x31] = 5;
        param_1[0x32] = 0;
        param_1[0x33] = 0;
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 3;
        param_1[1] = 3;
        param_1[2] = 3;
        *(uint *)(param_1 + 0x14) = local_44 + 3;
        *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffc < local_44);
        return;
      }
    }
    else if (((iVar7 == 0x20) && (piVar1[1] == 0x10)) && ((*(byte *)(piVar1 + 2) & 0x80) != 0)) {
      param_1[0x30] = 0x60;
      param_1[0x31] = 5;
      param_1[0x32] = 0;
      param_1[0x33] = 0;
      *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 2;
      param_1[1] = 2;
      param_1[2] = 4;
      *(uint *)(param_1 + 0x14) = local_44 + 2;
      *(uint *)(param_1 + 0x18) = local_40 + (0xfffffffd < local_44);
      return;
    }
    iVar7 = FUN_00020430(iVar13,local_24,local_20);
    if (iVar7 == 0) {
      iVar7 = unaff_EDI + 0xe109;
    }
    else {
      iVar7 = unaff_EDI + 0xde19;
    }
    uVar4 = dcgettext(0,iVar7,5);
    FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar4);
    *param_1 = *param_1 | 0x20;
    return;
  }
  if (uVar8 < 0x563) {
    if (0x55f < uVar8) goto LAB_00043748;
    if (uVar8 != 0x38) {
      if (0x38 < uVar8) {
        if (uVar8 < 0x55c) {
          if (uVar8 < 0x55a) {
            if (0x552 < uVar8) {
              if (uVar8 != 0x553) {
                if (uVar8 != 0x559) goto LAB_00043958;
                goto LAB_0004387f;
              }
              goto LAB_000437c8;
            }
            if (uVar8 < 0x551) {
              if (uVar8 != 0x45) goto LAB_00043958;
              goto LAB_00043899;
            }
          }
LAB_00043d00:
          bVar11 = *param_1 & 0x20;
          if ((*param_1 & 1) == 0) {
            if (bVar11 == 0) goto LAB_0004367e;
          }
          else {
            uVar8 = (uint)(char)param_1[1];
            bVar14 = CARRY4(local_44,uVar8);
            local_44 = local_44 + uVar8;
            local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;
            if (bVar11 == 0) goto LAB_0004367e;
            local_44 = local_44 >> 1 | local_40 * -0x80000000;
            local_40 = local_40 >> 1;
          }
          uVar3 = bfd_getb16(iVar7);
          bfd_putb16((ushort)local_44 & 0xfff | uVar3,0,iVar7);
          goto LAB_0004367e;
        }
        if (0x55d < uVar8) {
          uVar8 = (uint)(char)param_1[1];
          bVar14 = CARRY4(local_44,uVar8);
          local_44 = local_44 + uVar8;
          local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;
          if ((*param_1 & 0x20) != 0) {
            uVar8 = local_44 >> 1;
            local_44 = uVar8 | local_40 * -0x80000000;
            local_40 = local_40 >> 1;
            uVar9 = bfd_getb32(iVar7 + -1);
            bfd_putb32(uVar9 | uVar8 & 0xffffff,0,iVar7 + -1);
          }
          goto LAB_0004367e;
        }
        uVar8 = (uint)(char)param_1[1];
        bVar14 = CARRY4(local_44,uVar8);
        local_44 = local_44 + uVar8;
        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;
        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;
        uVar4 = 2;
LAB_00043760:
        FUN_0003fb00(iVar7,local_44 >> 1 | local_40 << 0x1f,(int)local_40 >> 1,uVar4);
        goto LAB_0004367e;
      }
      if (uVar8 == 8) goto LAB_0004371b;
      if (8 < uVar8) {
        if (uVar8 == 0x10) {
LAB_00043899:
          bVar11 = *param_1;
          if ((bVar11 & 1) != 0) {
            if (iVar13 == 0) {
              iVar13 = unaff_EDI + 0x967e;
              iVar10 = iVar13;
            }
            else {
              iVar10 = FUN_00037470(iVar13);
              uVar8 = *(uint *)(param_1 + 0x30);
              if (*(int *)(param_1 + 0xc) == 0) {
                iVar13 = unaff_EDI + 0x967e;
              }
              else {
                iVar13 = unaff_EDI + 0xe0ff;
              }
            }
            uVar4 = bfd_get_reloc_code_name(uVar8);
            uVar5 = dcgettext(0,unaff_EDI + 0xde45,5);
            FUN_0002aca0(*(undefined4 *)(param_1 + 0x3c),*(undefined4 *)(param_1 + 0x40),uVar5,uVar4
                         ,iVar13,iVar10);
            bVar11 = *param_1;
          }
          goto joined_r0x00043882;
        }
        if (uVar8 < 0x11) {
          if (uVar8 == 9) goto LAB_00043995;
          if (uVar8 != 0xf) goto LAB_00043958;
        }
        else if (uVar8 != 0x12) {
          if (uVar8 != 0x13) goto LAB_00043958;
          goto LAB_00043899;
        }
LAB_000437c8:
        bVar11 = *param_1;
        goto joined_r0x000437cb;
      }
      if (uVar8 == 2) {
        bVar11 = *param_1;
        uVar4 = 2;
        if ((bVar11 & 1) != 0) {
          uVar4 = 9;
        }
        *(undefined4 *)(param_1 + 0x30) = uVar4;
        goto joined_r0x000437cb;
      }
      if (2 < uVar8) {
        if (uVar8 == 5) goto LAB_00043899;
        if (uVar8 != 7) goto LAB_00043958;
        if ((*param_1 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002ad70(unaff_EDI + 0xde95,0x94b,unaff_EDI + 0xe3b1,unaff_EBX);
        }
        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;
        uVar4 = 1;
        goto LAB_00043668;
      }
      if (uVar8 != 1) {
LAB_00043958:
        iVar7 = bfd_get_reloc_code_name(uVar8);
        if (iVar7 != 0) {
          uVar4 = dcgettext(0,unaff_EDI + 0xe125,5);
                    /* WARNING: Subroutine does not return */
          FUN_0002acf0(uVar4,iVar7);
        }
        uVar4 = *(undefined4 *)(param_1 + 0x30);
        uVar5 = dcgettext(0,unaff_EDI + 0xe141,5);
                    /* WARNING: Subroutine does not return */
        FUN_0002acf0(uVar5,uVar4);
      }
      bVar11 = *param_1;
      uVar4 = 1;
      if ((bVar11 & 1) != 0) {
        uVar4 = 8;
      }
      *(undefined4 *)(param_1 + 0x30) = uVar4;
      goto joined_r0x0004371e;
    }
LAB_00043995:
    param_1[0x30] = 9;
    param_1[0x31] = 0;
    param_1[0x32] = 0;
    param_1[0x33] = 0;
    bVar11 = *param_1;
joined_r0x000437cb:
    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;
    uVar4 = 4;
  }
  else {
    if (uVar8 == 0x56d) goto LAB_000437c8;
    if (0x56d < uVar8) {
      if (uVar8 < 0x583) {
        if (uVar8 < 0x57c) {
          if (0x57a < uVar8) {
            FUN_00039ca0(iVar13);
            bVar14 = 0xfffffffd < local_44;
            local_44 = local_44 + 2;
            local_40 = local_40 + bVar14;
            goto LAB_0004367e;
          }
          if (uVar8 < 0x56f) goto LAB_0004371b;
        }
      }
      else if (uVar8 != 0x586) {
        if (0x585 < uVar8) {
          if (uVar8 - 0x5a3 < 2) {
            *param_1 = *param_1 & 0xdf;
            return;
          }
          goto LAB_00043958;
        }
        if ((*param_1 & 0x20) != 0) {
          uVar8 = bfd_getb32(iVar7);
          bfd_putb32(local_44 >> 0xc & 0xff | (local_44 & 0xfff) << 8 | uVar8,0,iVar7);
        }
        goto LAB_0004367e;
      }
      FUN_00039ca0(iVar13);
      goto LAB_0004367e;
    }
    if (uVar8 == 0x567) goto LAB_00043d00;
    if (uVar8 < 0x568) {
      if (uVar8 == 0x565) {
LAB_00043748:
        uVar8 = (uint)(char)param_1[1];
        bVar14 = CARRY4(local_44,uVar8);
        local_44 = local_44 + uVar8;
        local_40 = local_40 + ((int)uVar8 >> 0x1f) + (uint)bVar14;
        if ((*param_1 & 0x20) == 0) goto LAB_0004367e;
        uVar4 = 4;
        goto LAB_00043760;
      }
    }
    else if (uVar8 != 0x56a) {
      if (uVar8 < 0x56b) {
        if (uVar8 != 0x568) {
          if (uVar8 != 0x569) goto LAB_00043958;
          goto LAB_000437c8;
        }
      }
      else {
        if (uVar8 == 0x56b) goto LAB_00043748;
        if (uVar8 != 0x56c) goto LAB_00043958;
      }
LAB_0004387f:
      bVar11 = *param_1;
joined_r0x00043882:
      if ((bVar11 & 0x20) == 0) goto LAB_0004367e;
      uVar4 = 2;
      goto LAB_00043668;
    }
LAB_0004371b:
    bVar11 = *param_1;
joined_r0x0004371e:
    if ((bVar11 & 0x20) == 0) goto LAB_0004367e;
    uVar4 = 8;
  }
LAB_00043668:
  FUN_0003fb00(iVar7,local_44,local_40,uVar4);
LAB_0004367e:
  *(uint *)(param_1 + 0x14) = local_44;
  *(uint *)(param_1 + 0x18) = local_40;
  return;
}

