
bfd_boolean pep_implied_import_dll(char *filename)

{
  char *name;
  byte bVar1;
  byte bVar2;
  byte bVar3;
  byte bVar4;
  byte bVar5;
  byte bVar6;
  byte bVar7;
  byte bVar8;
  byte bVar9;
  byte bVar10;
  int iVar11;
  int iVar12;
  uint uVar13;
  uint uVar14;
  uint uVar15;
  bfd *abfd;
  ulong uVar16;
  char *pcVar17;
  def_file_module *pdVar18;
  def_file_import *pdVar19;
  byte *pbVar20;
  long lVar21;
  byte *pbVar22;
  byte *pbVar23;
  ulong uVar24;
  long lVar25;
  byte *name_00;
  ulong uVar26;
  ulong uVar27;
  ulong uVar28;
  undefined1 uVar29;
  bool bVar30;
  bool bVar31;
  undefined1 uVar32;
  bool bVar33;
  byte bVar34;
  ulong local_a8;
  ulong local_a0;
  ulong local_98;
  ulong local_90;
  ulong local_88;
  ulong local_80;
  ulong local_78;
  long local_68;
  uint local_5c;
  uint local_4c;
  char sname [8];
  
  bVar34 = 0;
  abfd = (bfd *)bfd_openr(filename,pep_details->target_name);
  if (abfd == (bfd *)0x0) {
    pcVar17 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);
    einfo(pcVar17,filename);
  }
  else {
    iVar12 = bfd_check_format(abfd,1);
    if (iVar12 == 0) {
      pcVar17 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);
      einfo(pcVar17,filename);
    }
    else {
      uVar13 = pe_get32(abfd,0x3c);
      uVar14 = pe_get32(abfd,uVar13 + 0x84);
      if (uVar14 != 0) {
        uVar14 = pe_get32(abfd,uVar13 + 0x88);
        uVar15 = pe_get32(abfd,uVar13 + 0x8c);
        local_88 = (ulong)uVar15;
        if (local_88 != 0) {
          uVar16 = (ulong)uVar14;
          uVar14 = pe_get16(abfd,uVar13 + 6);
          uVar26 = (ulong)uVar14;
          uVar14 = pe_get16(abfd,uVar13 + 0x14);
          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;
          if (uVar26 == 0) {
            local_78 = 0;
            local_90 = 0;
            local_a0 = 0;
            local_68 = 0;
            local_80 = 1;
            local_98 = 1;
            local_a8 = 1;
          }
          else {
            uVar28 = 0;
            lVar21 = lVar25;
            do {
              iVar12 = (int)lVar21;
              uVar13 = pe_get32(abfd,iVar12 + 0xc);
              uVar27 = (ulong)uVar13;
              uVar13 = pe_get32(abfd,iVar12 + 0x10);
              uVar14 = pe_get32(abfd,iVar12 + 0x14);
              bfd_seek(abfd,lVar21,0);
              bfd_bread(sname,8,abfd);
              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {
                uVar28 = uVar24 - uVar16;
                if (uVar16 + local_88 <= uVar24) {
                  uVar28 = local_88;
                }
                local_68 = (uVar14 - uVar27) + uVar16;
                local_88 = uVar28;
                goto LAB_0015194c;
              }
              uVar28 = uVar28 + 1;
              lVar21 = lVar21 + 0x28;
            } while (uVar26 != uVar28);
            local_68 = 0;
LAB_0015194c:
            local_78 = 0;
            uVar28 = 0;
            local_80 = 1;
            local_90 = 0;
            local_98 = 1;
            local_a0 = 0;
            local_a8 = 1;
LAB_001519c1:
            do {
              iVar12 = (int)lVar25;
              uVar13 = pe_get32(abfd,iVar12 + 8);
              uVar27 = (ulong)uVar13;
              uVar13 = pe_get32(abfd,iVar12 + 0xc);
              uVar24 = (ulong)uVar13;
              pe_get32(abfd,iVar12 + 0x24);
              uVar29 = 0;
              uVar32 = 1;
              bfd_seek(abfd,lVar25);
              bfd_bread(sname,8,abfd);
              lVar21 = 6;
              pbVar20 = (byte *)sname;
              pbVar22 = (byte *)0x19f8a8;
              do {
                if (lVar21 == 0) break;
                lVar21 = lVar21 + -1;
                uVar29 = *pbVar20 < *pbVar22;
                uVar32 = *pbVar20 == *pbVar22;
                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;
                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;
              } while ((bool)uVar32);
              bVar30 = false;
              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;
              if (!bVar33) {
                lVar21 = 7;
                pbVar20 = (byte *)sname;
                pbVar22 = (byte *)".rdata";
                do {
                  if (lVar21 == 0) break;
                  lVar21 = lVar21 + -1;
                  bVar30 = *pbVar20 < *pbVar22;
                  bVar33 = *pbVar20 == *pbVar22;
                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;
                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;
                } while (bVar33);
                bVar31 = false;
                bVar30 = (!bVar30 && !bVar33) == bVar30;
                if (bVar30) {
                  local_90 = uVar27 + uVar24;
                  local_98 = uVar24;
                  goto joined_r0x001519a9;
                }
                lVar21 = 5;
                pbVar20 = (byte *)sname;
                pbVar22 = (byte *)0x19f8b4;
                do {
                  if (lVar21 == 0) break;
                  lVar21 = lVar21 + -1;
                  bVar31 = *pbVar20 < *pbVar22;
                  bVar30 = *pbVar20 == *pbVar22;
                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;
                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;
                } while (bVar30);
                if (((!bVar31 && !bVar30) == bVar31) &&
                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))
                goto LAB_00151a71;
LAB_001519af:
                uVar28 = uVar28 + 1;
                lVar25 = lVar25 + 0x28;
                if (uVar26 == uVar28) break;
                goto LAB_001519c1;
              }
              local_a0 = uVar27 + uVar24;
              local_a8 = uVar24;
joined_r0x001519a9:
              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;
LAB_00151a71:
              uVar28 = uVar28 + 1;
              lVar25 = lVar25 + 0x28;
              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);
            } while (uVar26 != uVar28);
          }
          lVar25 = xmalloc(local_88);
          bfd_seek(abfd,local_68,0);
          bfd_bread(lVar25,local_88,abfd);
          uVar16 = lVar25 - uVar16;
          if (pep_def_file == (def_file *)0x0) {
            pep_def_file = def_file_empty();
          }
          bVar1 = *(byte *)(lVar25 + 0x21);
          bVar2 = *(byte *)(lVar25 + 0x18);
          bVar3 = *(byte *)(lVar25 + 0x19);
          bVar4 = *(byte *)(lVar25 + 0x22);
          bVar5 = *(byte *)(lVar25 + 0x1a);
          bVar6 = *(byte *)(lVar25 + 0x1b);
          bVar7 = *(byte *)(lVar25 + 0x20);
          local_4c = (uint)*(byte *)(lVar25 + 0x23);
          bVar8 = *(byte *)(lVar25 + 0x1c);
          bVar9 = *(byte *)(lVar25 + 0x1d);
          bVar10 = *(byte *)(lVar25 + 0x1e);
          local_5c = (uint)*(byte *)(lVar25 + 0x1f);
          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +
                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100
                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);
          pdVar18 = def_get_module(pep_def_file,pcVar17);
          if (pdVar18 == (def_file_module *)0x0) {
            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +
                     (uint)bVar6 * 0x1000000;
            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +
                            local_4c * 0x1000000);
            pbVar20 = (byte *)(uVar16 + uVar28);
            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +
                            local_5c * 0x1000000);
            iVar12 = def_file_add_import_from
                               (pep_def_file,uVar13,
                                (char *)(((uint)pbVar20[3] * 0x1000000 +
                                         (uint)pbVar20[2] * 0x10000 +
                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),
                                pcVar17,0,(char *)0x0,(char *)0x0);
            if (iVar12 < 0) {
              uVar27 = 0;
              if (uVar13 != 0) {
                do {
                  lVar25 = 5;
                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +
                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +
                                  (uint)pbVar20[3] * 0x1000000);
                  bVar30 = CARRY8(uVar24,uVar16);
                  name_00 = (byte *)(uVar24 + uVar16);
                  bVar33 = name_00 == (byte *)0x0;
                  pbVar22 = name_00;
                  pbVar23 = (byte *)"__nm_";
                  do {
                    if (lVar25 == 0) break;
                    lVar25 = lVar25 + -1;
                    bVar30 = *pbVar22 < *pbVar23;
                    bVar33 = *pbVar22 == *pbVar23;
                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;
                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;
                  } while (bVar33);
                  if ((!bVar30 && !bVar33) != bVar30) {
                    sname[0] = '\0';
                    sname[1] = '\0';
                    sname[2] = '\0';
                    sname[3] = '\0';
                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +
                                     (uint)pbVar20[uVar26 - uVar28] +
                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +
                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);
                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&
                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {
                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);
                    }
                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,
                                                  (char *)0x0,(char *)0x0,(int *)sname);
                    if (sname._0_4_ == 0) {
                      pdVar19->data = uVar14;
                    }
                    if (pep_dll_extra_pe_debug != 0) {
                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",
                             pcVar17,name_00);
                    }
                  }
                  uVar27 = uVar27 + 1;
                  pbVar20 = pbVar20 + 4;
                } while (uVar13 != uVar27);
              }
            }
            else if (uVar13 != 0) {
              pbVar22 = (byte *)(uVar26 + uVar16);
              uVar26 = 0;
              do {
                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +
                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +
                                (uint)pbVar22[3] * 0x1000000);
                iVar11 = (int)uVar26;
                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +
                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +
                                         (uint)pbVar20[3] * 0x1000000));
                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&
                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&
                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {
                  pdVar19 = def_file_add_import_at
                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,
                                       (char *)0x0);
                  iVar11 = pep_dll_extra_pe_debug;
                  pdVar19->data = 0;
                }
                else {
                  pdVar19 = def_file_add_import_at
                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,
                                       (char *)0x0);
                  iVar11 = pep_dll_extra_pe_debug;
                  pdVar19->data = 1;
                }
                if (iVar11 != 0) {
                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17
                         ,name,uVar28);
                }
                uVar26 = uVar26 + 1;
                pbVar20 = pbVar20 + 4;
                pbVar22 = pbVar22 + 4;
              } while (uVar13 != uVar26);
            }
          }
          else if (pep_dll_extra_pe_debug != 0) {
            printf("%s is already loaded\n",pcVar17);
          }
          return 1;
        }
      }
    }
  }
  return 0;
}



undefined4 FUN_001517d0(undefined8 param_1)

{
  byte bVar1;
  byte bVar2;
  byte bVar3;
  byte bVar4;
  byte bVar5;
  byte bVar6;
  byte bVar7;
  byte bVar8;
  byte bVar9;
  byte bVar10;
  int iVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  long lVar15;
  ulong uVar16;
  undefined8 uVar17;
  ulong uVar18;
  byte *pbVar19;
  long lVar20;
  ulong uVar21;
  byte *pbVar22;
  int iVar23;
  byte *pbVar24;
  ulong uVar25;
  long lVar26;
  ulong uVar27;
  byte *pbVar28;
  ulong uVar29;
  undefined1 uVar30;
  bool bVar31;
  bool bVar32;
  undefined1 uVar33;
  bool bVar34;
  byte bVar35;
  ulong local_a8;
  ulong local_a0;
  ulong local_98;
  ulong local_90;
  ulong local_88;
  ulong local_80;
  ulong local_78;
  long local_68;
  uint local_5c;
  uint local_4c;
  int local_44 [2];
  undefined1 local_3c;
  
  bVar35 = 0;
  lVar15 = bfd_openr(param_1,*DAT_002b5b90);
  if (lVar15 == 0) {
    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);
    FUN_00129380(uVar17,param_1);
  }
  else {
    iVar11 = bfd_check_format(lVar15,1);
    if (iVar11 == 0) {
      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);
      FUN_00129380(uVar17,param_1);
    }
    else {
      uVar12 = FUN_0014d170(lVar15,0x3c);
      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);
      if (iVar11 != 0) {
        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);
        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);
        local_88 = (ulong)uVar14;
        if (local_88 != 0) {
          uVar16 = (ulong)uVar13;
          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);
          uVar18 = (ulong)uVar13;
          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);
          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;
          if (uVar18 == 0) {
            local_78 = 0;
            local_90 = 0;
            local_a0 = 0;
            local_68 = 0;
            local_80 = 1;
            local_98 = 1;
            local_a8 = 1;
          }
          else {
            uVar29 = 0;
            lVar20 = lVar26;
            do {
              iVar11 = (int)lVar20;
              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);
              uVar21 = (ulong)uVar12;
              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);
              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);
              bfd_seek(lVar15,lVar20,0);
              bfd_bread(local_44,8,lVar15);
              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {
                uVar29 = uVar25 - uVar16;
                if (uVar16 + local_88 <= uVar25) {
                  uVar29 = local_88;
                }
                local_68 = (uVar13 - uVar21) + uVar16;
                local_88 = uVar29;
                goto LAB_0015194c;
              }
              uVar29 = uVar29 + 1;
              lVar20 = lVar20 + 0x28;
            } while (uVar18 != uVar29);
            local_68 = 0;
LAB_0015194c:
            local_78 = 0;
            uVar29 = 0;
            local_80 = 1;
            local_90 = 0;
            local_98 = 1;
            local_a0 = 0;
            local_a8 = 1;
LAB_001519c1:
            do {
              iVar11 = (int)lVar26;
              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);
              uVar21 = (ulong)uVar12;
              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);
              uVar25 = (ulong)uVar12;
              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);
              uVar30 = 0;
              uVar33 = 1;
              local_3c = 0;
              bfd_seek(lVar15,lVar26);
              bfd_bread(local_44,8,lVar15);
              lVar20 = 6;
              pbVar19 = (byte *)local_44;
              pbVar22 = (byte *)0x19f8a8;
              do {
                if (lVar20 == 0) break;
                lVar20 = lVar20 + -1;
                uVar30 = *pbVar19 < *pbVar22;
                uVar33 = *pbVar19 == *pbVar22;
                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;
                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;
              } while ((bool)uVar33);
              bVar31 = false;
              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;
              if (!bVar34) {
                lVar20 = 7;
                pbVar19 = (byte *)local_44;
                pbVar22 = (byte *)".rdata";
                do {
                  if (lVar20 == 0) break;
                  lVar20 = lVar20 + -1;
                  bVar31 = *pbVar19 < *pbVar22;
                  bVar34 = *pbVar19 == *pbVar22;
                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;
                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;
                } while (bVar34);
                bVar32 = false;
                bVar31 = (!bVar31 && !bVar34) == bVar31;
                if (bVar31) {
                  local_90 = uVar21 + uVar25;
                  local_98 = uVar25;
                  goto joined_r0x001519a9;
                }
                lVar20 = 5;
                pbVar19 = (byte *)local_44;
                pbVar22 = (byte *)0x19f8b4;
                do {
                  if (lVar20 == 0) break;
                  lVar20 = lVar20 + -1;
                  bVar32 = *pbVar19 < *pbVar22;
                  bVar31 = *pbVar19 == *pbVar22;
                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;
                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;
                } while (bVar31);
                if (((!bVar32 && !bVar31) == bVar32) &&
                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))
                goto LAB_00151a71;
LAB_001519af:
                uVar29 = uVar29 + 1;
                lVar26 = lVar26 + 0x28;
                if (uVar18 == uVar29) break;
                goto LAB_001519c1;
              }
              local_a0 = uVar21 + uVar25;
              local_a8 = uVar25;
joined_r0x001519a9:
              if (DAT_002b5adc == 0) goto LAB_001519af;
LAB_00151a71:
              uVar29 = uVar29 + 1;
              lVar26 = lVar26 + 0x28;
              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,
                     uVar21 + uVar25,(ulong)uVar12);
            } while (uVar18 != uVar29);
          }
          lVar26 = xmalloc(local_88);
          bfd_seek(lVar15,local_68,0);
          bfd_bread(lVar26,local_88,lVar15);
          uVar16 = lVar26 - uVar16;
          if (DAT_002b5af8 == 0) {
            DAT_002b5af8 = FUN_0014aee0();
          }
          bVar1 = *(byte *)(lVar26 + 0x21);
          bVar2 = *(byte *)(lVar26 + 0x18);
          bVar3 = *(byte *)(lVar26 + 0x19);
          bVar4 = *(byte *)(lVar26 + 0x22);
          bVar5 = *(byte *)(lVar26 + 0x1a);
          bVar6 = *(byte *)(lVar26 + 0x1b);
          bVar7 = *(byte *)(lVar26 + 0x20);
          local_4c = (uint)*(byte *)(lVar26 + 0x23);
          bVar8 = *(byte *)(lVar26 + 0x1c);
          bVar9 = *(byte *)(lVar26 + 0x1d);
          bVar10 = *(byte *)(lVar26 + 0x1e);
          local_5c = (uint)*(byte *)(lVar26 + 0x1f);
          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +
                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +
                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;
          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);
          if (lVar26 == 0) {
            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +
                     (uint)bVar6 * 0x1000000;
            uVar18 = (ulong)uVar12;
            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +
                            local_4c * 0x1000000);
            pbVar19 = (byte *)(uVar16 + uVar21);
            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +
                            local_5c * 0x1000000);
            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,
                                  ((uint)pbVar19[3] * 0x1000000 +
                                  (uint)pbVar19[2] * 0x10000 +
                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);
            if (iVar11 < 0) {
              uVar25 = 0;
              if (uVar12 != 0) {
                do {
                  lVar26 = 5;
                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +
                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +
                                  (uint)pbVar19[3] * 0x1000000);
                  bVar31 = CARRY8(uVar27,uVar16);
                  pbVar28 = (byte *)(uVar27 + uVar16);
                  bVar34 = pbVar28 == (byte *)0x0;
                  pbVar22 = pbVar28;
                  pbVar24 = (byte *)"__nm_";
                  do {
                    if (lVar26 == 0) break;
                    lVar26 = lVar26 + -1;
                    bVar31 = *pbVar22 < *pbVar24;
                    bVar34 = *pbVar22 == *pbVar24;
                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;
                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;
                  } while (bVar34);
                  if ((!bVar31 && !bVar34) != bVar31) {
                    local_44[0] = 0;
                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +
                                     (uint)pbVar19[uVar29 - uVar21] +
                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +
                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);
                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&
                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {
                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);
                    }
                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,
                                          local_44);
                    if (local_44[0] == 0) {
                      *(uint *)(lVar26 + 0x24) = uVar12;
                    }
                    if (DAT_002b5adc != 0) {
                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",
                             lVar15,pbVar28);
                    }
                  }
                  uVar25 = uVar25 + 1;
                  pbVar19 = pbVar19 + 4;
                } while (uVar18 != uVar25);
              }
            }
            else if (uVar12 != 0) {
              pbVar22 = (byte *)(uVar29 + uVar16);
              uVar29 = 0;
              do {
                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +
                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +
                                (uint)pbVar22[3] * 0x1000000);
                iVar23 = iVar11 + (int)uVar29;
                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +
                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +
                                  (uint)pbVar19[3] * 0x1000000);
                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&
                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&
                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {
                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);
                  iVar23 = DAT_002b5adc;
                  *(undefined4 *)(lVar20 + 0x24) = 0;
                }
                else {
                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);
                  iVar23 = DAT_002b5adc;
                  *(undefined4 *)(lVar20 + 0x24) = 1;
                }
                if (iVar23 != 0) {
                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,
                         lVar26,uVar21);
                }
                uVar29 = uVar29 + 1;
                pbVar19 = pbVar19 + 4;
                pbVar22 = pbVar22 + 4;
              } while (uVar18 != uVar29);
            }
          }
          else if (DAT_002b5adc != 0) {
            printf("%s is already loaded\n",lVar15);
          }
          return 1;
        }
      }
    }
  }
  return 0;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
MOV R12,RDI
PUSH RBP
PUSH RBX
SUB RSP,0x88
MOV RAX,qword ptr [0x002b5b90]
MOV RSI,qword ptr [RAX]
CALL 0x0010d2b0
TEST RAX,RAX
JZ 0x00151c08
MOV ESI,0x1
MOV RDI,RAX
MOV RBX,RAX
CALL 0x0010dbf0
MOV EBP,EAX
TEST EAX,EAX
JZ 0x00151b98
MOV ESI,0x3c
MOV RDI,RBX
CALL 0x0014d170
MOV RDI,RBX
MOV EBP,EAX
LEA ESI,[RBP + 0x84]
CALL 0x0014d170
TEST EAX,EAX
JNZ 0x00151850
XOR EBP,EBP
ADD RSP,0x88
MOV EAX,EBP
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA ESI,[RBP + 0x88]
MOV RDI,RBX
CALL 0x0014d170
LEA ESI,[RBP + 0x8c]
MOV RDI,RBX
MOV R12D,EAX
CALL 0x0014d170
MOV EAX,EAX
MOV qword ptr [RSP + 0x30],RAX
TEST RAX,RAX
JZ 0x00151837
MOV R13D,R12D
LEA ESI,[RBP + 0x6]
MOV RDI,RBX
MOV qword ptr [RSP + 0x48],R13
CALL 0x0014d130
LEA ESI,[RBP + 0x14]
MOV RDI,RBX
MOV R15D,EAX
MOV qword ptr [RSP],R15
CALL 0x0014d130
MOV EAX,EAX
LEA R12,[RBP + RAX*0x1 + 0x18]
TEST R15,R15
JZ 0x00152049
LEA R14,[RSP + 0x74]
MOV qword ptr [RSP + 0x18],R12
XOR R8D,R8D
MOV RBP,R12
MOV qword ptr [RSP + 0x8],R14
MOV R15,R8
NOP dword ptr [RAX + RAX*0x1]
LEA ESI,[RBP + 0xc]
MOV RDI,RBX
CALL 0x0014d170
LEA ESI,[RBP + 0x10]
MOV RDI,RBX
MOV R14D,EAX
CALL 0x0014d170
LEA ESI,[RBP + 0x14]
MOV RDI,RBX
MOV R12D,EAX
CALL 0x0014d170
XOR EDX,EDX
MOV RSI,RBP
MOV RDI,RBX
MOV dword ptr [RSP + 0x10],EAX
CALL 0x0010dd80
MOV RDI,qword ptr [RSP + 0x8]
MOV RDX,RBX
MOV ESI,0x8
CALL 0x0010dc70
CMP R13,R14
JC 0x0015192b
ADD R12,R14
CMP R12,R13
JA 0x00151c30
ADD R15,0x1
ADD RBP,0x28
CMP qword ptr [RSP],R15
JNZ 0x001518d0
MOV qword ptr [RSP + 0x50],0x0
MOV R12,qword ptr [RSP + 0x18]
MOV R14,qword ptr [RSP + 0x8]
MOV qword ptr [RSP + 0x40],0x0
XOR R15D,R15D
MOV qword ptr [RSP + 0x38],0x1
MOV qword ptr [RSP + 0x28],0x0
MOV qword ptr [RSP + 0x20],0x1
MOV qword ptr [RSP + 0x18],0x0
MOV qword ptr [RSP + 0x10],0x1
JMP 0x001519c1
MOV R10D,dword ptr [0x002b5adc]
LEA RAX,[RBP + R13*0x1]
MOV qword ptr [RSP + 0x10],R13
MOV qword ptr [RSP + 0x18],RAX
TEST R10D,R10D
JNZ 0x00151a71
ADD R15,0x1
ADD R12,0x28
CMP qword ptr [RSP],R15
JZ 0x00151aa6
LEA ESI,[R12 + 0x8]
MOV RDI,RBX
CALL 0x0014d170
LEA ESI,[R12 + 0xc]
MOV RDI,RBX
MOV EBP,EAX
CALL 0x0014d170
LEA ESI,[R12 + 0x24]
MOV RDI,RBX
MOV R13D,EAX
CALL 0x0014d170
XOR EDX,EDX
MOV RSI,R12
MOV RDI,RBX
MOV EAX,EAX
MOV byte ptr [RSP + 0x7c],0x0
MOV qword ptr [RSP + 0x8],RAX
CALL 0x0010dd80
MOV ESI,0x8
MOV RDI,R14
MOV RDX,RBX
CALL 0x0010dc70
MOV ECX,0x6
MOV RSI,R14
LEA RDI,[0x19f8a8]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00151990
MOV ECX,0x7
MOV RSI,R14
LEA RDI,[0x2854b7]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x00151bc0
MOV R9D,dword ptr [0x002b5adc]
LEA RAX,[RBP + R13*0x1]
MOV qword ptr [RSP + 0x20],R13
MOV qword ptr [RSP + 0x28],RAX
TEST R9D,R9D
JZ 0x001519af
MOV R9,qword ptr [RSP + 0x8]
MOV R8,RAX
MOV RCX,R13
MOV RDX,R14
LEA RSI,[0x29fcb0]
XOR EAX,EAX
ADD R15,0x1
ADD R12,0x28
LEA RDI,[0x29fa68]
CALL 0x0010d3b0
CMP qword ptr [RSP],R15
JNZ 0x001519c1
MOV R15,qword ptr [RSP + 0x30]
MOV RDI,R15
CALL 0x0010dda0
MOV RSI,qword ptr [RSP + 0x50]
XOR EDX,EDX
MOV RDI,RBX
MOV RBP,RAX
CALL 0x0010dd80
MOV RDI,RBP
MOV RDX,RBX
MOV RSI,R15
CALL 0x0010dc70
MOV RDI,qword ptr [0x002b5af8]
MOV RAX,RBP
SUB RAX,qword ptr [RSP + 0x48]
MOV qword ptr [RSP],RAX
TEST RDI,RDI
JZ 0x00151ed0
MOVZX EAX,byte ptr [RBP + 0x21]
MOVZX EDX,byte ptr [RBP + 0xd]
MOVZX ESI,byte ptr [RBP + 0xc]
MOVZX ECX,byte ptr [RBP + 0xf]
SHL EDX,0x8
MOVZX R15D,byte ptr [RBP + 0x18]
MOVZX EBX,byte ptr [RBP + 0x19]
MOV byte ptr [RSP + 0x60],AL
MOVZX EAX,byte ptr [RBP + 0x22]
ADD ESI,EDX
MOVZX EDX,byte ptr [RBP + 0xe]
SHL ECX,0x18
MOVZX R12D,byte ptr [RBP + 0x1a]
MOVZX R14D,byte ptr [RBP + 0x1b]
MOV byte ptr [RSP + 0x6b],AL
MOVZX EAX,byte ptr [RBP + 0x23]
SHL EDX,0x10
ADD EDX,ESI
MOVZX R13D,byte ptr [RBP + 0x20]
MOV byte ptr [RSP + 0x6c],AL
MOVZX EAX,byte ptr [RBP + 0x1c]
MOV byte ptr [RSP + 0x48],AL
MOVZX EAX,byte ptr [RBP + 0x1d]
MOV byte ptr [RSP + 0x50],AL
MOVZX EAX,byte ptr [RBP + 0x1e]
MOV byte ptr [RSP + 0x6a],AL
MOVZX EAX,byte ptr [RBP + 0x1f]
MOV byte ptr [RSP + 0x5c],AL
LEA EAX,[RDX + RCX*0x1]
ADD RAX,qword ptr [RSP]
MOV RSI,RAX
MOV qword ptr [RSP + 0x30],RAX
CALL 0x0014b4e0
TEST RAX,RAX
JZ 0x00151c80
MOV EDI,dword ptr [0x002b5adc]
TEST EDI,EDI
JNZ 0x00151eb0
MOV EBP,0x1
JMP 0x00151839
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x29fa38]
CALL 0x0010d300
MOV RSI,R12
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00129380
JMP 0x00151839
MOV ECX,0x5
MOV RSI,R14
LEA RDI,[0x19f8b4]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x001519af
MOV R8D,dword ptr [0x002b5adc]
LEA RAX,[RBP + R13*0x1]
MOV qword ptr [RSP + 0x38],R13
MOV qword ptr [RSP + 0x40],RAX
TEST R8D,R8D
JZ 0x001519af
JMP 0x00151a71
MOV EDX,0x5
LEA RSI,[0x29f3dc]
XOR EDI,EDI
XOR EBP,EBP
CALL 0x0010d300
MOV RSI,R12
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00129380
JMP 0x00151839
MOV RCX,qword ptr [RSP + 0x48]
MOV EAX,dword ptr [RSP + 0x10]
MOV R15,R14
MOV R13,R12
MOV RDI,qword ptr [RSP + 0x30]
MOV R12,qword ptr [RSP + 0x18]
SUB RAX,R15
MOV RDX,RCX
MOV R14,qword ptr [RSP + 0x8]
MOV R15,RAX
ADD RDX,RDI
MOV RAX,R13
SUB RAX,RCX
CMP R13,RDX
CMOVNC RAX,RDI
MOV qword ptr [RSP + 0x30],RAX
LEA RAX,[R15 + RCX*0x1]
MOV qword ptr [RSP + 0x50],RAX
JMP 0x0015194c
SHL EBX,0x8
SHL R12D,0x10
MOVZX EBP,byte ptr [RSP + 0x60]
MOV EDX,dword ptr [RSP + 0x6c]
ADD R15D,EBX
SHL R14D,0x18
MOV RCX,qword ptr [RSP]
SUB RSP,0x8
LEA EAX,[R15 + R12*0x1]
SHL EBP,0x8
SHL EDX,0x18
XOR R9D,R9D
ADD EAX,R14D
ADD R13D,EBP
MOV RBX,RCX
XOR R8D,R8D
MOV qword ptr [RSP + 0x10],RAX
MOV R14,RAX
MOVZX EAX,byte ptr [RSP + 0x73]
MOV ESI,R14D
SHL EAX,0x10
ADD EAX,R13D
LEA EDI,[RAX + RDX*0x1]
MOVZX EAX,byte ptr [RSP + 0x58]
MOVZX EDX,byte ptr [RSP + 0x50]
ADD RBX,RDI
MOV qword ptr [RSP + 0x68],RDI
MOV RDI,qword ptr [0x002b5af8]
SHL EAX,0x8
ADD EDX,EAX
MOVZX EAX,byte ptr [RSP + 0x72]
SHL EAX,0x10
ADD EAX,EDX
MOV EDX,dword ptr [RSP + 0x64]
SHL EDX,0x18
LEA EBP,[RAX + RDX*0x1]
MOVZX EAX,byte ptr [RBX + 0x1]
MOVZX EDX,byte ptr [RBX]
SHL EAX,0x8
ADD EDX,EAX
MOVZX EAX,byte ptr [RBX + 0x2]
SHL EAX,0x10
ADD EAX,EDX
MOVZX EDX,byte ptr [RBX + 0x3]
PUSH 0x0
SHL EDX,0x18
ADD EDX,EAX
ADD RDX,RCX
MOV RCX,qword ptr [RSP + 0x40]
CALL 0x0014c9a0
POP RCX
POP RSI
TEST EAX,EAX
JNS 0x00151ee8
LEA RAX,[RSP + 0x74]
XOR R13D,R13D
MOV qword ptr [RSP + 0x48],RAX
TEST R14D,R14D
JNZ 0x00151df2
JMP 0x00151b87
MOV R15D,0x1
CMP qword ptr [RSP + 0x18],R14
JBE 0x00151e6f
SUB RSP,0x8
XOR R9D,R9D
XOR R8D,R8D
MOV ECX,R13D
PUSH qword ptr [RSP + 0x50]
MOV RDI,qword ptr [0x002b5af8]
MOV RSI,R12
MOV RDX,qword ptr [RSP + 0x40]
CALL 0x0014b520
POP R10
POP R11
MOV EDX,dword ptr [RSP + 0x74]
TEST EDX,EDX
JNZ 0x00151d9e
MOV dword ptr [RAX + 0x24],R15D
MOV R9D,dword ptr [0x002b5adc]
TEST R9D,R9D
JZ 0x00151ddf
TEST R15D,R15D
LEA RAX,[0x29f3d5]
MOV R8,R14
MOV RCX,R12
LEA R9,[0x29f29b]
MOV RDX,qword ptr [RSP + 0x30]
LEA RSI,[0x29fcb0]
CMOVNZ R9,RAX
LEA RDI,[0x29fa90]
XOR EAX,EAX
CALL 0x0010d3b0
ADD R13,0x1
ADD RBX,0x4
CMP qword ptr [RSP + 0x8],R13
JZ 0x00151b87
MOVZX EAX,byte ptr [RBX + 0x1]
MOVZX EDX,byte ptr [RBX]
MOV ECX,0x5
LEA RDI,[0x29f1ed]
SHL EAX,0x8
ADD EDX,EAX
MOVZX EAX,byte ptr [RBX + 0x2]
SHL EAX,0x10
ADD EAX,EDX
MOVZX EDX,byte ptr [RBX + 0x3]
SHL EDX,0x18
LEA R12D,[RAX + RDX*0x1]
ADD R12,qword ptr [RSP]
MOV RSI,R12
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00151ddf
MOV RCX,RBX
SUB RCX,qword ptr [RSP + 0x60]
MOV dword ptr [RSP + 0x74],0x0
MOVZX EAX,byte ptr [RCX + RBP*0x1 + 0x1]
MOVZX EDX,byte ptr [RCX + RBP*0x1]
SHL EAX,0x8
ADD EDX,EAX
MOVZX EAX,byte ptr [RCX + RBP*0x1 + 0x2]
SHL EAX,0x10
ADD EAX,EDX
MOVZX EDX,byte ptr [RCX + RBP*0x1 + 0x3]
SHL EDX,0x18
LEA R14D,[RAX + RDX*0x1]
CMP qword ptr [RSP + 0x10],R14
JBE 0x00151d58
CMP R14,qword ptr [RSP + 0x20]
JC 0x00151e87
MOV R15D,0x1
CMP R14,qword ptr [RSP + 0x28]
JC 0x00151d69
CMP R14,qword ptr [RSP + 0x38]
SETNC AL
XOR R11D,R11D
CMP R14,qword ptr [RSP + 0x40]
SETC R11B
AND R11D,EAX
MOV R15D,R11D
JMP 0x00151d69
MOV RSI,qword ptr [RSP + 0x30]
LEA RDI,[0x29f3ef]
XOR EAX,EAX
CALL 0x0010d3b0
JMP 0x00151b87
CALL 0x0014aee0
MOV RDI,RAX
MOV qword ptr [0x002b5af8],RAX
JMP 0x00151aef
TEST R14D,R14D
JZ 0x00151b87
MOV R13,qword ptr [RSP + 0x30]
ADD RBP,qword ptr [RSP]
XOR R12D,R12D
MOV dword ptr [RSP + 0x30],EAX
JMP 0x00151f57
CMP qword ptr [RSP + 0x18],R15
JBE 0x00151fbd
SUB RSP,0x8
XOR R9D,R9D
MOV RCX,R13
MOV RDX,R14
PUSH 0x0
CALL 0x0014cb40
MOV R8D,dword ptr [0x002b5adc]
MOV dword ptr [RAX + 0x24],0x1
POP RSI
POP RDI
TEST R8D,R8D
JNZ 0x00152040
ADD R12,0x1
ADD RBX,0x4
ADD RBP,0x4
CMP qword ptr [RSP + 0x8],R12
JZ 0x00151b87
MOVZX EAX,byte ptr [RBP + 0x1]
MOVZX EDX,byte ptr [RBP]
MOV R8D,R12D
MOV RDI,qword ptr [0x002b5af8]
SHL EAX,0x8
ADD EDX,EAX
MOVZX EAX,byte ptr [RBP + 0x2]
SHL EAX,0x10
ADD EAX,EDX
MOVZX EDX,byte ptr [RBP + 0x3]
SHL EDX,0x18
LEA R15D,[RAX + RDX*0x1]
MOV EAX,dword ptr [RSP + 0x30]
MOVZX EDX,byte ptr [RBX]
LEA ESI,[RAX + R12*0x1]
MOVZX EAX,byte ptr [RBX + 0x1]
SHL EAX,0x8
ADD EDX,EAX
MOVZX EAX,byte ptr [RBX + 0x2]
SHL EAX,0x10
ADD EAX,EDX
MOVZX EDX,byte ptr [RBX + 0x3]
SHL EDX,0x18
LEA R11D,[RAX + RDX*0x1]
MOV RAX,qword ptr [RSP]
LEA R14,[RAX + R11*0x1]
CMP qword ptr [RSP + 0x10],R15
JBE 0x00151f08
CMP R15,qword ptr [RSP + 0x20]
JC 0x00151fcf
CMP R15,qword ptr [RSP + 0x28]
JC 0x00151f13
CMP R15,qword ptr [RSP + 0x38]
JC 0x00151fe1
CMP R15,qword ptr [RSP + 0x40]
JC 0x00151f13
SUB RSP,0x8
MOV RCX,R13
MOV RDX,R14
XOR R9D,R9D
PUSH 0x0
CALL 0x0014cb40
MOV ECX,dword ptr [0x002b5adc]
MOV dword ptr [RAX + 0x24],0x0
POP RAX
POP RDX
TEST ECX,ECX
JZ 0x00151f40
LEA R9,[0x29f29b]
MOV R8,R15
MOV RCX,R14
MOV RDX,R13
XOR EAX,EAX
LEA RSI,[0x29fcb0]
LEA RDI,[0x29fa90]
CALL 0x0010d3b0
JMP 0x00151f40
LEA R9,[0x29f3d5]
JMP 0x00152013
MOV qword ptr [RSP + 0x40],0x0
MOV qword ptr [RSP + 0x28],0x0
MOV qword ptr [RSP + 0x18],0x0
MOV qword ptr [RSP + 0x50],0x0
MOV qword ptr [RSP + 0x38],0x1
MOV qword ptr [RSP + 0x20],0x1
MOV qword ptr [RSP + 0x10],0x1
JMP 0x00151aa6
(translation_unit "undefined4 FUN_001517d0(undefined8 param_1)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  long lVar15;\n  ulong uVar16;\n  undefined8 uVar17;\n  ulong uVar18;\n  byte *pbVar19;\n  long lVar20;\n  ulong uVar21;\n  byte *pbVar22;\n  int iVar23;\n  byte *pbVar24;\n  ulong uVar25;\n  long lVar26;\n  ulong uVar27;\n  byte *pbVar28;\n  ulong uVar29;\n  undefined1 uVar30;\n  bool bVar31;\n  bool bVar32;\n  undefined1 uVar33;\n  bool bVar34;\n  byte bVar35;\n  ulong local_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong local_90;\n  ulong local_88;\n  ulong local_80;\n  ulong local_78;\n  long local_68;\n  uint local_5c;\n  uint local_4c;\n  int local_44 [2];\n  undefined1 local_3c;\n  \n  bVar35 = 0;\n  lVar15 = bfd_openr(param_1,*DAT_002b5b90);\n  if (lVar15 == 0) {\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }\n  else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_001517d0(undefined8 param_1)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  long lVar15;\n  ulong uVar16;\n  undefined8 uVar17;\n  ulong uVar18;\n  byte *pbVar19;\n  long lVar20;\n  ulong uVar21;\n  byte *pbVar22;\n  int iVar23;\n  byte *pbVar24;\n  ulong uVar25;\n  long lVar26;\n  ulong uVar27;\n  byte *pbVar28;\n  ulong uVar29;\n  undefined1 uVar30;\n  bool bVar31;\n  bool bVar32;\n  undefined1 uVar33;\n  bool bVar34;\n  byte bVar35;\n  ulong local_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong local_90;\n  ulong local_88;\n  ulong local_80;\n  ulong local_78;\n  long local_68;\n  uint local_5c;\n  uint local_4c;\n  int local_44 [2];\n  undefined1 local_3c;\n  \n  bVar35 = 0;\n  lVar15 = bfd_openr(param_1,*DAT_002b5b90);\n  if (lVar15 == 0) {\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }\n  else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_001517d0(undefined8 param_1)" identifier (parameter_list "(undefined8 param_1)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  long lVar15;\n  ulong uVar16;\n  undefined8 uVar17;\n  ulong uVar18;\n  byte *pbVar19;\n  long lVar20;\n  ulong uVar21;\n  byte *pbVar22;\n  int iVar23;\n  byte *pbVar24;\n  ulong uVar25;\n  long lVar26;\n  ulong uVar27;\n  byte *pbVar28;\n  ulong uVar29;\n  undefined1 uVar30;\n  bool bVar31;\n  bool bVar32;\n  undefined1 uVar33;\n  bool bVar34;\n  byte bVar35;\n  ulong local_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong local_90;\n  ulong local_88;\n  ulong local_80;\n  ulong local_78;\n  long local_68;\n  uint local_5c;\n  uint local_4c;\n  int local_44 [2];\n  undefined1 local_3c;\n  \n  bVar35 = 0;\n  lVar15 = bfd_openr(param_1,*DAT_002b5b90);\n  if (lVar15 == 0) {\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }\n  else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "undefined8 uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "long lVar20;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "ulong uVar25;" type_identifier identifier ;) (declaration "long lVar26;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar27;" type_identifier identifier ;) (declaration "byte *pbVar28;" type_identifier (pointer_declarator "*pbVar28" * identifier) ;) (declaration "ulong uVar29;" type_identifier identifier ;) (declaration "undefined1 uVar30;" type_identifier identifier ;) (declaration "bool bVar31;" primitive_type identifier ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "undefined1 uVar33;" type_identifier identifier ;) (declaration "bool bVar34;" primitive_type identifier ;) (declaration "byte bVar35;" type_identifier identifier ;) (declaration "ulong local_a8;" type_identifier identifier ;) (declaration "ulong local_a0;" type_identifier identifier ;) (declaration "ulong local_98;" type_identifier identifier ;) (declaration "ulong local_90;" type_identifier identifier ;) (declaration "ulong local_88;" type_identifier identifier ;) (declaration "ulong local_80;" type_identifier identifier ;) (declaration "ulong local_78;" type_identifier identifier ;) (declaration "long local_68;" (sized_type_specifier "long" long) identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "int local_44 [2];" primitive_type (array_declarator "local_44 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 local_3c;" type_identifier identifier ;) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" identifier = number_literal) ;) (expression_statement "lVar15 = bfd_openr(param_1,*DAT_002b5b90);" (assignment_expression "lVar15 = bfd_openr(param_1,*DAT_002b5b90)" identifier = (call_expression "bfd_openr(param_1,*DAT_002b5b90)" identifier (argument_list "(param_1,*DAT_002b5b90)" ( identifier , (pointer_expression "*DAT_002b5b90" * identifier) )))) ;) (if_statement "if (lVar15 == 0) {\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }\n  else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }" { (expression_statement "uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);" (assignment_expression "uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: open %s: %E\n",5)" identifier (argument_list "(0,"%X%P: open %s: %E\n",5)" ( number_literal , (string_literal ""%X%P: open %s: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00129380(uVar17,param_1);" (call_expression "FUN_00129380(uVar17,param_1)" identifier (argument_list "(uVar17,param_1)" ( identifier , identifier ))) ;) }) (else_clause "else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }" else (compound_statement "{\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }" { (expression_statement "iVar11 = bfd_check_format(lVar15,1);" (assignment_expression "iVar11 = bfd_check_format(lVar15,1)" identifier = (call_expression "bfd_check_format(lVar15,1)" identifier (argument_list "(lVar15,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }" { (expression_statement "uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);" (assignment_expression "uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" identifier (argument_list "(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" ( number_literal , (string_literal ""%X%P: %s: this doesn\'t appear to be a DLL\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00129380(uVar17,param_1);" (call_expression "FUN_00129380(uVar17,param_1)" identifier (argument_list "(uVar17,param_1)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }" else (compound_statement "{\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }" { (expression_statement "uVar12 = FUN_0014d170(lVar15,0x3c);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,0x3c)" identifier = (call_expression "FUN_0014d170(lVar15,0x3c)" identifier (argument_list "(lVar15,0x3c)" ( identifier , number_literal )))) ;) (expression_statement "iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);" (assignment_expression "iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84)" identifier = (call_expression "FUN_0014d170(lVar15,uVar12 + 0x84)" identifier (argument_list "(lVar15,uVar12 + 0x84)" ( identifier , (binary_expression "uVar12 + 0x84" identifier + number_literal) )))) ;) (if_statement "if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }" { (expression_statement "uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);" (assignment_expression "uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88)" identifier = (call_expression "FUN_0014d170(lVar15,uVar12 + 0x88)" identifier (argument_list "(lVar15,uVar12 + 0x88)" ( identifier , (binary_expression "uVar12 + 0x88" identifier + number_literal) )))) ;) (expression_statement "uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);" (assignment_expression "uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c)" identifier = (call_expression "FUN_0014d170(lVar15,uVar12 + 0x8c)" identifier (argument_list "(lVar15,uVar12 + 0x8c)" ( identifier , (binary_expression "uVar12 + 0x8c" identifier + number_literal) )))) ;) (expression_statement "local_88 = (ulong)uVar14;" (assignment_expression "local_88 = (ulong)uVar14" identifier = (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }" if (parenthesized_expression "(local_88 != 0)" ( (binary_expression "local_88 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }" { (expression_statement "uVar16 = (ulong)uVar13;" (assignment_expression "uVar16 = (ulong)uVar13" identifier = (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar13 = FUN_0014d130(lVar15,uVar12 + 6);" (assignment_expression "uVar13 = FUN_0014d130(lVar15,uVar12 + 6)" identifier = (call_expression "FUN_0014d130(lVar15,uVar12 + 6)" identifier (argument_list "(lVar15,uVar12 + 6)" ( identifier , (binary_expression "uVar12 + 6" identifier + number_literal) )))) ;) (expression_statement "uVar18 = (ulong)uVar13;" (assignment_expression "uVar18 = (ulong)uVar13" identifier = (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);" (assignment_expression "uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14)" identifier = (call_expression "FUN_0014d130(lVar15,uVar12 + 0x14)" identifier (argument_list "(lVar15,uVar12 + 0x14)" ( identifier , (binary_expression "uVar12 + 0x14" identifier + number_literal) )))) ;) (expression_statement "lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;" (assignment_expression "lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13" identifier = (binary_expression "(ulong)uVar12 + 0x18 + (ulong)uVar13" (binary_expression "(ulong)uVar12 + 0x18" (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) + number_literal) + (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (if_statement "if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }" { (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" identifier = number_literal) ;) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }" else (compound_statement "{\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }" { (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (expression_statement "lVar20 = lVar26;" (assignment_expression "lVar20 = lVar26" identifier = identifier) ;) (do_statement "do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);" do (compound_statement "{\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            }" { (expression_statement "iVar11 = (int)lVar20;" (assignment_expression "iVar11 = (int)lVar20" identifier = (cast_expression "(int)lVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 0xc)" identifier (argument_list "(lVar15,iVar11 + 0xc)" ( identifier , (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "uVar21 = (ulong)uVar12;" (assignment_expression "uVar21 = (ulong)uVar12" identifier = (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 0x10)" identifier (argument_list "(lVar15,iVar11 + 0x10)" ( identifier , (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) ;) (expression_statement "uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);" (assignment_expression "uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 0x14)" identifier (argument_list "(lVar15,iVar11 + 0x14)" ( identifier , (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) ;) (expression_statement "bfd_seek(lVar15,lVar20,0);" (call_expression "bfd_seek(lVar15,lVar20,0)" identifier (argument_list "(lVar15,lVar20,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(local_44,8,lVar15);" (call_expression "bfd_bread(local_44,8,lVar15)" identifier (argument_list "(local_44,8,lVar15)" ( identifier , number_literal , identifier ))) ;) (if_statement "if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }" if (parenthesized_expression "((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25))" ( (binary_expression "(uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)" (parenthesized_expression "(uVar21 <= uVar16)" ( (binary_expression "uVar21 <= uVar16" identifier <= identifier) )) && (parenthesized_expression "(uVar25 = uVar12 + uVar21, uVar16 < uVar25)" ( (comma_expression "uVar25 = uVar12 + uVar21, uVar16 < uVar25" (assignment_expression "uVar25 = uVar12 + uVar21" identifier = (binary_expression "uVar12 + uVar21" identifier + identifier)) , (binary_expression "uVar16 < uVar25" identifier < identifier)) ))) )) (compound_statement "{\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }" { (expression_statement "uVar29 = uVar25 - uVar16;" (assignment_expression "uVar29 = uVar25 - uVar16" identifier = (binary_expression "uVar25 - uVar16" identifier - identifier)) ;) (if_statement "if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }" if (parenthesized_expression "(uVar16 + local_88 <= uVar25)" ( (binary_expression "uVar16 + local_88 <= uVar25" (binary_expression "uVar16 + local_88" identifier + identifier) <= identifier) )) (compound_statement "{\n                  uVar29 = local_88;\n                }" { (expression_statement "uVar29 = local_88;" (assignment_expression "uVar29 = local_88" identifier = identifier) ;) })) (expression_statement "local_68 = (uVar13 - uVar21) + uVar16;" (assignment_expression "local_68 = (uVar13 - uVar21) + uVar16" identifier = (binary_expression "(uVar13 - uVar21) + uVar16" (parenthesized_expression "(uVar13 - uVar21)" ( (binary_expression "uVar13 - uVar21" identifier - identifier) )) + identifier)) ;) (expression_statement "local_88 = uVar29;" (assignment_expression "local_88 = uVar29" identifier = identifier) ;) (goto_statement "goto LAB_0015194c;" goto statement_identifier ;) })) (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ;) (expression_statement "lVar20 = lVar20 + 0x28;" (assignment_expression "lVar20 = lVar20 + 0x28" identifier = (binary_expression "lVar20 + 0x28" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 != uVar29)" ( (binary_expression "uVar18 != uVar29" identifier != identifier) )) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0015194c:\n            local_78 = 0;" statement_identifier : (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;)) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" identifier = number_literal) ;) (labeled_statement "LAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);" statement_identifier : (do_statement "do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);" do (compound_statement "{\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            }" { (expression_statement "iVar11 = (int)lVar26;" (assignment_expression "iVar11 = (int)lVar26" identifier = (cast_expression "(int)lVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 8);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 8)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 8)" identifier (argument_list "(lVar15,iVar11 + 8)" ( identifier , (binary_expression "iVar11 + 8" identifier + number_literal) )))) ;) (expression_statement "uVar21 = (ulong)uVar12;" (assignment_expression "uVar21 = (ulong)uVar12" identifier = (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 0xc)" identifier (argument_list "(lVar15,iVar11 + 0xc)" ( identifier , (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "uVar25 = (ulong)uVar12;" (assignment_expression "uVar25 = (ulong)uVar12" identifier = (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 0x24)" identifier (argument_list "(lVar15,iVar11 + 0x24)" ( identifier , (binary_expression "iVar11 + 0x24" identifier + number_literal) )))) ;) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (expression_statement "uVar33 = 1;" (assignment_expression "uVar33 = 1" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "bfd_seek(lVar15,lVar26);" (call_expression "bfd_seek(lVar15,lVar26)" identifier (argument_list "(lVar15,lVar26)" ( identifier , identifier ))) ;) (expression_statement "bfd_bread(local_44,8,lVar15);" (call_expression "bfd_bread(local_44,8,lVar15)" identifier (argument_list "(local_44,8,lVar15)" ( identifier , number_literal , identifier ))) ;) (expression_statement "lVar20 = 6;" (assignment_expression "lVar20 = 6" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)local_44;" (assignment_expression "pbVar19 = (byte *)local_44" identifier = (cast_expression "(byte *)local_44" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar22 = (byte *)0x19f8a8;" (assignment_expression "pbVar22 = (byte *)0x19f8a8" identifier = (cast_expression "(byte *)0x19f8a8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);" do (compound_statement "{\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              }" { (if_statement "if (lVar20 == 0) break;" if (parenthesized_expression "(lVar20 == 0)" ( (binary_expression "lVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar20 = lVar20 + -1;" (assignment_expression "lVar20 = lVar20 + -1" identifier = (binary_expression "lVar20 + -1" identifier + number_literal)) ;) (expression_statement "uVar30 = *pbVar19 < *pbVar22;" (assignment_expression "uVar30 = *pbVar19 < *pbVar22" identifier = (binary_expression "*pbVar19 < *pbVar22" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "uVar33 = *pbVar19 == *pbVar22;" (assignment_expression "uVar33 = *pbVar19 == *pbVar22" identifier = (binary_expression "*pbVar19 == *pbVar22" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar33)" ( (cast_expression "(bool)uVar33" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (expression_statement "bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;" (assignment_expression "bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30" identifier = (binary_expression "(!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30" (parenthesized_expression "(!(bool)uVar30 && !(bool)uVar33)" ( (binary_expression "!(bool)uVar30 && !(bool)uVar33" (unary_expression "!(bool)uVar30" ! (cast_expression "(bool)uVar30" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar33" ! (cast_expression "(bool)uVar33" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar30" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }" { (expression_statement "lVar20 = 7;" (assignment_expression "lVar20 = 7" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)local_44;" (assignment_expression "pbVar19 = (byte *)local_44" identifier = (cast_expression "(byte *)local_44" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar22 = (byte *)".rdata";" (assignment_expression "pbVar22 = (byte *)".rdata"" identifier = (cast_expression "(byte *)".rdata"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".rdata"" " string_content "))) ;) (do_statement "do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);" do (compound_statement "{\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                }" { (if_statement "if (lVar20 == 0) break;" if (parenthesized_expression "(lVar20 == 0)" ( (binary_expression "lVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar20 = lVar20 + -1;" (assignment_expression "lVar20 = lVar20 + -1" identifier = (binary_expression "lVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar19 < *pbVar22;" (assignment_expression "bVar31 = *pbVar19 < *pbVar22" identifier = (binary_expression "*pbVar19 < *pbVar22" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar34 = *pbVar19 == *pbVar22;" (assignment_expression "bVar34 = *pbVar19 == *pbVar22" identifier = (binary_expression "*pbVar19 == *pbVar22" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (expression_statement "bVar32 = false;" (assignment_expression "bVar32 = false" identifier = false) ;) (expression_statement "bVar31 = (!bVar31 && !bVar34) == bVar31;" (assignment_expression "bVar31 = (!bVar31 && !bVar34) == bVar31" identifier = (binary_expression "(!bVar31 && !bVar34) == bVar31" (parenthesized_expression "(!bVar31 && !bVar34)" ( (binary_expression "!bVar31 && !bVar34" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }" if (parenthesized_expression "(bVar31)" ( identifier )) (compound_statement "{\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }" { (expression_statement "local_90 = uVar21 + uVar25;" (assignment_expression "local_90 = uVar21 + uVar25" identifier = (binary_expression "uVar21 + uVar25" identifier + identifier)) ;) (expression_statement "local_98 = uVar25;" (assignment_expression "local_98 = uVar25" identifier = identifier) ;) (goto_statement "goto joined_r0x001519a9;" goto statement_identifier ;) })) (expression_statement "lVar20 = 5;" (assignment_expression "lVar20 = 5" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)local_44;" (assignment_expression "pbVar19 = (byte *)local_44" identifier = (cast_expression "(byte *)local_44" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar22 = (byte *)0x19f8b4;" (assignment_expression "pbVar22 = (byte *)0x19f8b4" identifier = (cast_expression "(byte *)0x19f8b4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);" do (compound_statement "{\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                }" { (if_statement "if (lVar20 == 0) break;" if (parenthesized_expression "(lVar20 == 0)" ( (binary_expression "lVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar20 = lVar20 + -1;" (assignment_expression "lVar20 = lVar20 + -1" identifier = (binary_expression "lVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar32 = *pbVar19 < *pbVar22;" (assignment_expression "bVar32 = *pbVar19 < *pbVar22" identifier = (binary_expression "*pbVar19 < *pbVar22" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar31 = *pbVar19 == *pbVar22;" (assignment_expression "bVar31 = *pbVar19 == *pbVar22" identifier = (binary_expression "*pbVar19 == *pbVar22" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar31)" ( identifier )) ;) (if_statement "if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;" if (parenthesized_expression "(((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))" ( (binary_expression "((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0)" (parenthesized_expression "((!bVar32 && !bVar31) == bVar32)" ( (binary_expression "(!bVar32 && !bVar31) == bVar32" (parenthesized_expression "(!bVar32 && !bVar31)" ( (binary_expression "!bVar32 && !bVar31" (unary_expression "!bVar32" ! identifier) && (unary_expression "!bVar31" ! identifier)) )) == identifier) )) && (parenthesized_expression "(local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0)" ( (comma_expression "local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0" (assignment_expression "local_78 = uVar21 + uVar25" identifier = (binary_expression "uVar21 + uVar25" identifier + identifier)) , (comma_expression "local_80 = uVar25, DAT_002b5adc != 0" (assignment_expression "local_80 = uVar25" identifier = identifier) , (binary_expression "DAT_002b5adc != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_00151a71;" goto statement_identifier ;)) (labeled_statement "LAB_001519af:\n                uVar29 = uVar29 + 1;" statement_identifier : (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ;)) (expression_statement "lVar26 = lVar26 + 0x28;" (assignment_expression "lVar26 = lVar26 + 0x28" identifier = (binary_expression "lVar26 + 0x28" identifier + number_literal)) ;) (if_statement "if (uVar18 == uVar29) break;" if (parenthesized_expression "(uVar18 == uVar29)" ( (binary_expression "uVar18 == uVar29" identifier == identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_001519c1;" goto statement_identifier ;) })) (expression_statement "local_a0 = uVar21 + uVar25;" (assignment_expression "local_a0 = uVar21 + uVar25" identifier = (binary_expression "uVar21 + uVar25" identifier + identifier)) ;) (expression_statement "local_a8 = uVar25;" (assignment_expression "local_a8 = uVar25" identifier = identifier) ;) (labeled_statement "joined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;" statement_identifier : (if_statement "if (DAT_002b5adc == 0) goto LAB_001519af;" if (parenthesized_expression "(DAT_002b5adc == 0)" ( (binary_expression "DAT_002b5adc == 0" identifier == number_literal) )) (goto_statement "goto LAB_001519af;" goto statement_identifier ;))) (labeled_statement "LAB_00151a71:\n              uVar29 = uVar29 + 1;" statement_identifier : (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ;)) (expression_statement "lVar26 = lVar26 + 0x28;" (assignment_expression "lVar26 = lVar26 + 0x28" identifier = (binary_expression "lVar26 + 0x28" identifier + number_literal)) ;) (expression_statement "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);" (call_expression "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12)" identifier (argument_list "("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12)" ( (string_literal ""%s %s: 0x%08lx-0x%08lx (0x%08lx)\n"" " string_content escape_sequence ") , (string_literal ""pep_implied_import_dll"" " string_content ") , identifier , identifier , (binary_expression "uVar21 + uVar25" identifier + identifier) , (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) while (parenthesized_expression "(uVar18 != uVar29)" ( (binary_expression "uVar18 != uVar29" identifier != identifier) )) ;)) }))) (expression_statement "lVar26 = xmalloc(local_88);" (assignment_expression "lVar26 = xmalloc(local_88)" identifier = (call_expression "xmalloc(local_88)" identifier (argument_list "(local_88)" ( identifier )))) ;) (expression_statement "bfd_seek(lVar15,local_68,0);" (call_expression "bfd_seek(lVar15,local_68,0)" identifier (argument_list "(lVar15,local_68,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(lVar26,local_88,lVar15);" (call_expression "bfd_bread(lVar26,local_88,lVar15)" identifier (argument_list "(lVar26,local_88,lVar15)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar16 = lVar26 - uVar16;" (assignment_expression "uVar16 = lVar26 - uVar16" identifier = (binary_expression "lVar26 - uVar16" identifier - identifier)) ;) (if_statement "if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }" if (parenthesized_expression "(DAT_002b5af8 == 0)" ( (binary_expression "DAT_002b5af8 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_002b5af8 = FUN_0014aee0();\n          }" { (expression_statement "DAT_002b5af8 = FUN_0014aee0();" (assignment_expression "DAT_002b5af8 = FUN_0014aee0()" identifier = (call_expression "FUN_0014aee0()" identifier (argument_list "()" ( )))) ;) })) (expression_statement "bVar1 = *(byte *)(lVar26 + 0x21);" (assignment_expression "bVar1 = *(byte *)(lVar26 + 0x21)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x21)" * (cast_expression "(byte *)(lVar26 + 0x21)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x21)" ( (binary_expression "lVar26 + 0x21" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = *(byte *)(lVar26 + 0x18);" (assignment_expression "bVar2 = *(byte *)(lVar26 + 0x18)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x18)" * (cast_expression "(byte *)(lVar26 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x18)" ( (binary_expression "lVar26 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "bVar3 = *(byte *)(lVar26 + 0x19);" (assignment_expression "bVar3 = *(byte *)(lVar26 + 0x19)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x19)" * (cast_expression "(byte *)(lVar26 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x19)" ( (binary_expression "lVar26 + 0x19" identifier + number_literal) ))))) ;) (expression_statement "bVar4 = *(byte *)(lVar26 + 0x22);" (assignment_expression "bVar4 = *(byte *)(lVar26 + 0x22)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x22)" * (cast_expression "(byte *)(lVar26 + 0x22)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x22)" ( (binary_expression "lVar26 + 0x22" identifier + number_literal) ))))) ;) (expression_statement "bVar5 = *(byte *)(lVar26 + 0x1a);" (assignment_expression "bVar5 = *(byte *)(lVar26 + 0x1a)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x1a)" * (cast_expression "(byte *)(lVar26 + 0x1a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1a)" ( (binary_expression "lVar26 + 0x1a" identifier + number_literal) ))))) ;) (expression_statement "bVar6 = *(byte *)(lVar26 + 0x1b);" (assignment_expression "bVar6 = *(byte *)(lVar26 + 0x1b)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x1b)" * (cast_expression "(byte *)(lVar26 + 0x1b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1b)" ( (binary_expression "lVar26 + 0x1b" identifier + number_literal) ))))) ;) (expression_statement "bVar7 = *(byte *)(lVar26 + 0x20);" (assignment_expression "bVar7 = *(byte *)(lVar26 + 0x20)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x20)" * (cast_expression "(byte *)(lVar26 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x20)" ( (binary_expression "lVar26 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_4c = (uint)*(byte *)(lVar26 + 0x23);" (assignment_expression "local_4c = (uint)*(byte *)(lVar26 + 0x23)" identifier = (binary_expression "(uint)*(byte *)(lVar26 + 0x23)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0x23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x23)" ( (binary_expression "lVar26 + 0x23" identifier + number_literal) ))))) ;) (expression_statement "bVar8 = *(byte *)(lVar26 + 0x1c);" (assignment_expression "bVar8 = *(byte *)(lVar26 + 0x1c)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x1c)" * (cast_expression "(byte *)(lVar26 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1c)" ( (binary_expression "lVar26 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "bVar9 = *(byte *)(lVar26 + 0x1d);" (assignment_expression "bVar9 = *(byte *)(lVar26 + 0x1d)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x1d)" * (cast_expression "(byte *)(lVar26 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1d)" ( (binary_expression "lVar26 + 0x1d" identifier + number_literal) ))))) ;) (expression_statement "bVar10 = *(byte *)(lVar26 + 0x1e);" (assignment_expression "bVar10 = *(byte *)(lVar26 + 0x1e)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x1e)" * (cast_expression "(byte *)(lVar26 + 0x1e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1e)" ( (binary_expression "lVar26 + 0x1e" identifier + number_literal) ))))) ;) (expression_statement "local_5c = (uint)*(byte *)(lVar26 + 0x1f);" (assignment_expression "local_5c = (uint)*(byte *)(lVar26 + 0x1f)" identifier = (binary_expression "(uint)*(byte *)(lVar26 + 0x1f)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1f)" ( (binary_expression "lVar26 + 0x1f" identifier + number_literal) ))))) ;) (expression_statement "lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;" (assignment_expression "lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16" identifier = (binary_expression "((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16" (parenthesized_expression "((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000)" ( (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000" (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100" (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc)" (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000" (binary_expression "(uint)*(byte *)(lVar26 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0xe)" ( (binary_expression "lVar26 + 0xe" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)(lVar26 + 0xc)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0xc)" ( (binary_expression "lVar26 + 0xc" identifier + number_literal) ))))) + (binary_expression "(uint)*(byte *)(lVar26 + 0xd) * 0x100" (binary_expression "(uint)*(byte *)(lVar26 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0xd)" ( (binary_expression "lVar26 + 0xd" identifier + number_literal) )))) * number_literal)) + (binary_expression "(uint)*(byte *)(lVar26 + 0xf) * 0x1000000" (binary_expression "(uint)*(byte *)(lVar26 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0xf)" ( (binary_expression "lVar26 + 0xf" identifier + number_literal) )))) * number_literal)) )) + identifier)) ;) (expression_statement "lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);" (assignment_expression "lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15)" identifier = (call_expression "FUN_0014b4e0(DAT_002b5af8,lVar15)" identifier (argument_list "(DAT_002b5af8,lVar15)" ( identifier , identifier )))) ;) (if_statement "if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }" if (parenthesized_expression "(lVar26 == 0)" ( (binary_expression "lVar26 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }" { (expression_statement "uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;" (assignment_expression "uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000" identifier = (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000" (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000" (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "(uint)bVar3 * 0x100" (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "(uint)bVar5 * 0x10000" (cast_expression "(uint)bVar5" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "(uint)bVar6 * 0x1000000" (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal))) ;) (expression_statement "uVar18 = (ulong)uVar12;" (assignment_expression "uVar18 = (ulong)uVar12" identifier = (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);" (assignment_expression "uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" identifier = (call_expression "(ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" ( (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7" (binary_expression "(uint)bVar4 * 0x10000" (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)bVar1 * 0x100" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "local_4c * 0x1000000" identifier * number_literal)) )))) ;) (expression_statement "pbVar19 = (byte *)(uVar16 + uVar21);" (assignment_expression "pbVar19 = (byte *)(uVar16 + uVar21)" identifier = (cast_expression "(byte *)(uVar16 + uVar21)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 + uVar21)" ( (binary_expression "uVar16 + uVar21" identifier + identifier) )))) ;) (expression_statement "uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);" (assignment_expression "uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" identifier = (call_expression "(ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" ( (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000" (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100" (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8" (binary_expression "(uint)bVar10 * 0x10000" (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)bVar9 * 0x100" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "local_5c * 0x1000000" identifier * number_literal)) )))) ;) (expression_statement "iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);" (assignment_expression "iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0)" identifier = (call_expression "FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0)" identifier (argument_list "(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0)" ( identifier , identifier , (binary_expression "((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16" (parenthesized_expression "((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100)" ( (binary_expression "(uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100" (binary_expression "(uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19" (binary_expression "(uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000" (binary_expression "(uint)pbVar19[3] * 0x1000000" (cast_expression "(uint)pbVar19[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[3]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)pbVar19[2] * 0x10000" (cast_expression "(uint)pbVar19[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[2]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar19[1] * 0x100" (cast_expression "(uint)pbVar19[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[1]" identifier [ number_literal ])) * number_literal)) )) + identifier) , identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (if_statement "if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }" { (do_statement "do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);" do (compound_statement "{\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                }" { (expression_statement "lVar26 = 5;" (assignment_expression "lVar26 = 5" identifier = number_literal) ;) (expression_statement "uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);" (assignment_expression "uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" identifier = (call_expression "(ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" ( (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19" (binary_expression "(uint)pbVar19[2] * 0x10000" (cast_expression "(uint)pbVar19[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[2]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar19[1] * 0x100" (cast_expression "(uint)pbVar19[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[1]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)pbVar19[3] * 0x1000000" (cast_expression "(uint)pbVar19[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[3]" identifier [ number_literal ])) * number_literal)) )))) ;) (expression_statement "bVar31 = CARRY8(uVar27,uVar16);" (assignment_expression "bVar31 = CARRY8(uVar27,uVar16)" identifier = (call_expression "CARRY8(uVar27,uVar16)" identifier (argument_list "(uVar27,uVar16)" ( identifier , identifier )))) ;) (expression_statement "pbVar28 = (byte *)(uVar27 + uVar16);" (assignment_expression "pbVar28 = (byte *)(uVar27 + uVar16)" identifier = (cast_expression "(byte *)(uVar27 + uVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar27 + uVar16)" ( (binary_expression "uVar27 + uVar16" identifier + identifier) )))) ;) (expression_statement "bVar34 = pbVar28 == (byte *)0x0;" (assignment_expression "bVar34 = pbVar28 == (byte *)0x0" identifier = (binary_expression "pbVar28 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar22 = pbVar28;" (assignment_expression "pbVar22 = pbVar28" identifier = identifier) ;) (expression_statement "pbVar24 = (byte *)"__nm_";" (assignment_expression "pbVar24 = (byte *)"__nm_"" identifier = (cast_expression "(byte *)"__nm_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__nm_"" " string_content "))) ;) (do_statement "do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);" do (compound_statement "{\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  }" { (if_statement "if (lVar26 == 0) break;" if (parenthesized_expression "(lVar26 == 0)" ( (binary_expression "lVar26 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar26 = lVar26 + -1;" (assignment_expression "lVar26 = lVar26 + -1" identifier = (binary_expression "lVar26 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar22 < *pbVar24;" (assignment_expression "bVar31 = *pbVar22 < *pbVar24" identifier = (binary_expression "*pbVar22 < *pbVar24" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar34 = *pbVar22 == *pbVar24;" (assignment_expression "bVar34 = *pbVar22 == *pbVar24" identifier = (binary_expression "*pbVar22 == *pbVar24" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (if_statement "if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }" if (parenthesized_expression "((!bVar31 && !bVar34) != bVar31)" ( (binary_expression "(!bVar31 && !bVar34) != bVar31" (parenthesized_expression "(!bVar31 && !bVar34)" ( (binary_expression "!bVar31 && !bVar34" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) != identifier) )) (compound_statement "{\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }" { (expression_statement "local_44[0] = 0;" (assignment_expression "local_44[0] = 0" (subscript_expression "local_44[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);" (assignment_expression "uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000)" identifier = (call_expression "(ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000)" ( (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000" (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100" (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21]" (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000" (cast_expression "(uint)pbVar19[uVar29 + (2 - uVar21)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[uVar29 + (2 - uVar21)]" identifier [ (binary_expression "uVar29 + (2 - uVar21)" identifier + (parenthesized_expression "(2 - uVar21)" ( (binary_expression "2 - uVar21" number_literal - identifier) ))) ])) * number_literal) + (cast_expression "(uint)pbVar19[uVar29 - uVar21]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[uVar29 - uVar21]" identifier [ (binary_expression "uVar29 - uVar21" identifier - identifier) ]))) + (binary_expression "(uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100" (cast_expression "(uint)pbVar19[uVar29 + (1 - uVar21)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[uVar29 + (1 - uVar21)]" identifier [ (binary_expression "uVar29 + (1 - uVar21)" identifier + (parenthesized_expression "(1 - uVar21)" ( (binary_expression "1 - uVar21" number_literal - identifier) ))) ])) * number_literal)) + (binary_expression "(uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000" (cast_expression "(uint)pbVar19[uVar29 + (3 - uVar21)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[uVar29 + (3 - uVar21)]" identifier [ (binary_expression "uVar29 + (3 - uVar21)" identifier + (parenthesized_expression "(3 - uVar21)" ( (binary_expression "3 - uVar21" number_literal - identifier) ))) ])) * number_literal)) )))) ;) (if_statement "if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }" if (parenthesized_expression "(((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27))))" ( (binary_expression "((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))" (parenthesized_expression "((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27))" ( (binary_expression "(uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)" (parenthesized_expression "(uVar27 < local_a8)" ( (binary_expression "uVar27 < local_a8" identifier < identifier) )) || (parenthesized_expression "(uVar12 = 1, local_a0 <= uVar27)" ( (comma_expression "uVar12 = 1, local_a0 <= uVar27" (assignment_expression "uVar12 = 1" identifier = number_literal) , (binary_expression "local_a0 <= uVar27" identifier <= identifier)) ))) )) && (parenthesized_expression "((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))" ( (parenthesized_expression "(uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27))" ( (binary_expression "uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)" (binary_expression "uVar27 < local_98" identifier < identifier) || (parenthesized_expression "(uVar12 = 1, local_90 <= uVar27)" ( (comma_expression "uVar12 = 1, local_90 <= uVar27" (assignment_expression "uVar12 = 1" identifier = number_literal) , (binary_expression "local_90 <= uVar27" identifier <= identifier)) ))) )) ))) )) (compound_statement "{\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }" { (expression_statement "uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);" (assignment_expression "uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27)" identifier = (call_expression "(uint)(uVar27 < local_78 && local_80 <= uVar27)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar27 < local_78 && local_80 <= uVar27)" ( (binary_expression "uVar27 < local_78 && local_80 <= uVar27" (binary_expression "uVar27 < local_78" identifier < identifier) && (binary_expression "local_80 <= uVar27" identifier <= identifier)) )))) ;) })) (expression_statement "lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);" (assignment_expression "lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44)" identifier = (call_expression "FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44)" identifier (argument_list "(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44)" ( identifier , identifier , identifier , (binary_expression "uVar25 & 0xffffffff" identifier & number_literal) , number_literal , number_literal , identifier )))) ;) (if_statement "if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }" if (parenthesized_expression "(local_44[0] == 0)" ( (binary_expression "local_44[0] == 0" (subscript_expression "local_44[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }" { (expression_statement "*(uint *)(lVar26 + 0x24) = uVar12;" (assignment_expression "*(uint *)(lVar26 + 0x24) = uVar12" (pointer_expression "*(uint *)(lVar26 + 0x24)" * (cast_expression "(uint *)(lVar26 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x24)" ( (binary_expression "lVar26 + 0x24" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }" if (parenthesized_expression "(DAT_002b5adc != 0)" ( (binary_expression "DAT_002b5adc != 0" identifier != number_literal) )) (compound_statement "{\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }" { (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pep_implied_import_dll"" " string_content ") , identifier , identifier ))) ;) })) })) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" identifier = (binary_expression "uVar25 + 1" identifier + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + 4;" (assignment_expression "pbVar19 = pbVar19 + 4" identifier = (binary_expression "pbVar19 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 != uVar25)" ( (binary_expression "uVar18 != uVar25" identifier != identifier) )) ;) })) }) (else_clause "else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" else (if_statement "if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" { (expression_statement "pbVar22 = (byte *)(uVar29 + uVar16);" (assignment_expression "pbVar22 = (byte *)(uVar29 + uVar16)" identifier = (cast_expression "(byte *)(uVar29 + uVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar29 + uVar16)" ( (binary_expression "uVar29 + uVar16" identifier + identifier) )))) ;) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (do_statement "do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);" do (compound_statement "{\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              }" { (expression_statement "uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);" (assignment_expression "uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" identifier = (call_expression "(ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" ( (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000" (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100" (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22" (binary_expression "(uint)pbVar22[2] * 0x10000" (cast_expression "(uint)pbVar22[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar22[2]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)*pbVar22" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar22[1] * 0x100" (cast_expression "(uint)pbVar22[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar22[1]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)pbVar22[3] * 0x1000000" (cast_expression "(uint)pbVar22[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar22[3]" identifier [ number_literal ])) * number_literal)) )))) ;) (expression_statement "iVar23 = iVar11 + (int)uVar29;" (assignment_expression "iVar23 = iVar11 + (int)uVar29" identifier = (binary_expression "iVar11 + (int)uVar29" identifier + (cast_expression "(int)uVar29" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);" (assignment_expression "lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" identifier = (binary_expression "uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" identifier + (parenthesized_expression "((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" ( (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19" (binary_expression "(uint)pbVar19[2] * 0x10000" (cast_expression "(uint)pbVar19[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[2]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar19[1] * 0x100" (cast_expression "(uint)pbVar19[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[1]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)pbVar19[3] * 0x1000000" (cast_expression "(uint)pbVar19[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[3]" identifier [ number_literal ])) * number_literal)) )))) ;) (if_statement "if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }" if (parenthesized_expression "((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21))))" ( (binary_expression "(((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))" (parenthesized_expression "(((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21))))" ( (binary_expression "((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))" (parenthesized_expression "((uVar21 < local_a8) || (local_a0 <= uVar21))" ( (binary_expression "(uVar21 < local_a8) || (local_a0 <= uVar21)" (parenthesized_expression "(uVar21 < local_a8)" ( (binary_expression "uVar21 < local_a8" identifier < identifier) )) || (parenthesized_expression "(local_a0 <= uVar21)" ( (binary_expression "local_a0 <= uVar21" identifier <= identifier) ))) )) && (parenthesized_expression "((uVar21 < local_98 || (local_90 <= uVar21)))" ( (parenthesized_expression "(uVar21 < local_98 || (local_90 <= uVar21))" ( (binary_expression "uVar21 < local_98 || (local_90 <= uVar21)" (binary_expression "uVar21 < local_98" identifier < identifier) || (parenthesized_expression "(local_90 <= uVar21)" ( (binary_expression "local_90 <= uVar21" identifier <= identifier) ))) )) ))) )) && (parenthesized_expression "((uVar21 < local_80 || (local_78 <= uVar21)))" ( (parenthesized_expression "(uVar21 < local_80 || (local_78 <= uVar21))" ( (binary_expression "uVar21 < local_80 || (local_78 <= uVar21)" (binary_expression "uVar21 < local_80" identifier < identifier) || (parenthesized_expression "(local_78 <= uVar21)" ( (binary_expression "local_78 <= uVar21" identifier <= identifier) ))) )) ))) )) (compound_statement "{\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }" { (expression_statement "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);" (assignment_expression "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" identifier = (call_expression "FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" identifier (argument_list "(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" ( identifier , identifier , identifier , identifier , (binary_expression "uVar29 & 0xffffffff" identifier & number_literal) , number_literal , number_literal )))) ;) (expression_statement "iVar23 = DAT_002b5adc;" (assignment_expression "iVar23 = DAT_002b5adc" identifier = identifier) ;) (expression_statement "*(undefined4 *)(lVar20 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(lVar20 + 0x24) = 0" (pointer_expression "*(undefined4 *)(lVar20 + 0x24)" * (cast_expression "(undefined4 *)(lVar20 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar20 + 0x24)" ( (binary_expression "lVar20 + 0x24" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }" else (compound_statement "{\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }" { (expression_statement "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);" (assignment_expression "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" identifier = (call_expression "FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" identifier (argument_list "(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" ( identifier , identifier , identifier , identifier , (binary_expression "uVar29 & 0xffffffff" identifier & number_literal) , number_literal , number_literal )))) ;) (expression_statement "iVar23 = DAT_002b5adc;" (assignment_expression "iVar23 = DAT_002b5adc" identifier = identifier) ;) (expression_statement "*(undefined4 *)(lVar20 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(lVar20 + 0x24) = 1" (pointer_expression "*(undefined4 *)(lVar20 + 0x24)" * (cast_expression "(undefined4 *)(lVar20 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar20 + 0x24)" ( (binary_expression "lVar20 + 0x24" identifier + number_literal) )))) = number_literal) ;) }))) (if_statement "if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }" { (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pep_implied_import_dll"" " string_content ") , identifier , identifier , identifier ))) ;) })) (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + 4;" (assignment_expression "pbVar19 = pbVar19 + 4" identifier = (binary_expression "pbVar19 + 4" identifier + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + 4;" (assignment_expression "pbVar22 = pbVar22 + 4" identifier = (binary_expression "pbVar22 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 != uVar29)" ( (binary_expression "uVar18 != uVar29" identifier != identifier) )) ;) })))) }) (else_clause "else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }" else (if_statement "if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }" if (parenthesized_expression "(DAT_002b5adc != 0)" ( (binary_expression "DAT_002b5adc != 0" identifier != number_literal) )) (compound_statement "{\n            printf("%s is already loaded\n",lVar15);\n          }" { (expression_statement "printf("%s is already loaded\n",lVar15);" (call_expression "printf("%s is already loaded\n",lVar15)" identifier (argument_list "("%s is already loaded\n",lVar15)" ( (string_literal ""%s is already loaded\n"" " string_content escape_sequence ") , identifier ))) ;) })))) (return_statement "return 1;" return number_literal ;) })) })) }))) }))) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "bfd_boolean pep_implied_import_dll(char *filename)\n\n{\n  char *name;\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  bfd *abfd;\n  ulong uVar16;\n  char *pcVar17;\n  def_file_module *pdVar18;\n  def_file_import *pdVar19;\n  byte *pbVar20;\n  long lVar21;\n  byte *pbVar22;\n  byte *pbVar23;\n  ulong uVar24;\n  long lVar25;\n  byte *name_00;\n  ulong uVar26;\n  ulong uVar27;\n  ulong uVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  bool bVar31;\n  undefined1 uVar32;\n  bool bVar33;\n  byte bVar34;\n  ulong local_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong local_90;\n  ulong local_88;\n  ulong local_80;\n  ulong local_78;\n  long local_68;\n  uint local_5c;\n  uint local_4c;\n  char sname [8];\n  \n  bVar34 = 0;\n  abfd = (bfd *)bfd_openr(filename,pep_details->target_name);\n  if (abfd == (bfd *)0x0) {\n    pcVar17 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);\n    einfo(pcVar17,filename);\n  }\n  else {\n    iVar12 = bfd_check_format(abfd,1);\n    if (iVar12 == 0) {\n      pcVar17 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      einfo(pcVar17,filename);\n    }\n    else {\n      uVar13 = pe_get32(abfd,0x3c);\n      uVar14 = pe_get32(abfd,uVar13 + 0x84);\n      if (uVar14 != 0) {\n        uVar14 = pe_get32(abfd,uVar13 + 0x88);\n        uVar15 = pe_get32(abfd,uVar13 + 0x8c);\n        local_88 = (ulong)uVar15;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}\n\n" (function_definition "bfd_boolean pep_implied_import_dll(char *filename)\n\n{\n  char *name;\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  bfd *abfd;\n  ulong uVar16;\n  char *pcVar17;\n  def_file_module *pdVar18;\n  def_file_import *pdVar19;\n  byte *pbVar20;\n  long lVar21;\n  byte *pbVar22;\n  byte *pbVar23;\n  ulong uVar24;\n  long lVar25;\n  byte *name_00;\n  ulong uVar26;\n  ulong uVar27;\n  ulong uVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  bool bVar31;\n  undefined1 uVar32;\n  bool bVar33;\n  byte bVar34;\n  ulong local_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong local_90;\n  ulong local_88;\n  ulong local_80;\n  ulong local_78;\n  long local_68;\n  uint local_5c;\n  uint local_4c;\n  char sname [8];\n  \n  bVar34 = 0;\n  abfd = (bfd *)bfd_openr(filename,pep_details->target_name);\n  if (abfd == (bfd *)0x0) {\n    pcVar17 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);\n    einfo(pcVar17,filename);\n  }\n  else {\n    iVar12 = bfd_check_format(abfd,1);\n    if (iVar12 == 0) {\n      pcVar17 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      einfo(pcVar17,filename);\n    }\n    else {\n      uVar13 = pe_get32(abfd,0x3c);\n      uVar14 = pe_get32(abfd,uVar13 + 0x84);\n      if (uVar14 != 0) {\n        uVar14 = pe_get32(abfd,uVar13 + 0x88);\n        uVar15 = pe_get32(abfd,uVar13 + 0x8c);\n        local_88 = (ulong)uVar15;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "pep_implied_import_dll(char *filename)" identifier (parameter_list "(char *filename)" ( (parameter_declaration "char *filename" primitive_type (pointer_declarator "*filename" * identifier)) ))) (compound_statement "{\n  char *name;\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  bfd *abfd;\n  ulong uVar16;\n  char *pcVar17;\n  def_file_module *pdVar18;\n  def_file_import *pdVar19;\n  byte *pbVar20;\n  long lVar21;\n  byte *pbVar22;\n  byte *pbVar23;\n  ulong uVar24;\n  long lVar25;\n  byte *name_00;\n  ulong uVar26;\n  ulong uVar27;\n  ulong uVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  bool bVar31;\n  undefined1 uVar32;\n  bool bVar33;\n  byte bVar34;\n  ulong local_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong local_90;\n  ulong local_88;\n  ulong local_80;\n  ulong local_78;\n  long local_68;\n  uint local_5c;\n  uint local_4c;\n  char sname [8];\n  \n  bVar34 = 0;\n  abfd = (bfd *)bfd_openr(filename,pep_details->target_name);\n  if (abfd == (bfd *)0x0) {\n    pcVar17 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);\n    einfo(pcVar17,filename);\n  }\n  else {\n    iVar12 = bfd_check_format(abfd,1);\n    if (iVar12 == 0) {\n      pcVar17 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      einfo(pcVar17,filename);\n    }\n    else {\n      uVar13 = pe_get32(abfd,0x3c);\n      uVar14 = pe_get32(abfd,uVar13 + 0x84);\n      if (uVar14 != 0) {\n        uVar14 = pe_get32(abfd,uVar13 + 0x88);\n        uVar15 = pe_get32(abfd,uVar13 + 0x8c);\n        local_88 = (ulong)uVar15;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" { (declaration "char *name;" primitive_type (pointer_declarator "*name" * identifier) ;) (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "bfd *abfd;" type_identifier (pointer_declarator "*abfd" * identifier) ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "def_file_module *pdVar18;" type_identifier (pointer_declarator "*pdVar18" * identifier) ;) (declaration "def_file_import *pdVar19;" type_identifier (pointer_declarator "*pdVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "long lVar21;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "ulong uVar24;" type_identifier identifier ;) (declaration "long lVar25;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *name_00;" type_identifier (pointer_declarator "*name_00" * identifier) ;) (declaration "ulong uVar26;" type_identifier identifier ;) (declaration "ulong uVar27;" type_identifier identifier ;) (declaration "ulong uVar28;" type_identifier identifier ;) (declaration "undefined1 uVar29;" type_identifier identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "bool bVar31;" primitive_type identifier ;) (declaration "undefined1 uVar32;" type_identifier identifier ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "byte bVar34;" type_identifier identifier ;) (declaration "ulong local_a8;" type_identifier identifier ;) (declaration "ulong local_a0;" type_identifier identifier ;) (declaration "ulong local_98;" type_identifier identifier ;) (declaration "ulong local_90;" type_identifier identifier ;) (declaration "ulong local_88;" type_identifier identifier ;) (declaration "ulong local_80;" type_identifier identifier ;) (declaration "ulong local_78;" type_identifier identifier ;) (declaration "long local_68;" (sized_type_specifier "long" long) identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "char sname [8];" primitive_type (array_declarator "sname [8]" identifier [ number_literal ]) ;) (expression_statement "bVar34 = 0;" (assignment_expression "bVar34 = 0" identifier = number_literal) ;) (expression_statement "abfd = (bfd *)bfd_openr(filename,pep_details->target_name);" (assignment_expression "abfd = (bfd *)bfd_openr(filename,pep_details->target_name)" identifier = (cast_expression "(bfd *)bfd_openr(filename,pep_details->target_name)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openr(filename,pep_details->target_name)" identifier (argument_list "(filename,pep_details->target_name)" ( identifier , (field_expression "pep_details->target_name" identifier -> field_identifier) ))))) ;) (if_statement "if (abfd == (bfd *)0x0) {\n    pcVar17 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);\n    einfo(pcVar17,filename);\n  }\n  else {\n    iVar12 = bfd_check_format(abfd,1);\n    if (iVar12 == 0) {\n      pcVar17 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      einfo(pcVar17,filename);\n    }\n    else {\n      uVar13 = pe_get32(abfd,0x3c);\n      uVar14 = pe_get32(abfd,uVar13 + 0x84);\n      if (uVar14 != 0) {\n        uVar14 = pe_get32(abfd,uVar13 + 0x88);\n        uVar15 = pe_get32(abfd,uVar13 + 0x8c);\n        local_88 = (ulong)uVar15;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(abfd == (bfd *)0x0)" ( (binary_expression "abfd == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar17 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);\n    einfo(pcVar17,filename);\n  }" { (expression_statement "pcVar17 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%X%P: open %s: %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%X%P: open %s: %E\n",5)" identifier (argument_list "(0,"%X%P: open %s: %E\n",5)" ( number_literal , (string_literal ""%X%P: open %s: %E\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar17,filename);" (call_expression "einfo(pcVar17,filename)" identifier (argument_list "(pcVar17,filename)" ( identifier , identifier ))) ;) }) (else_clause "else {\n    iVar12 = bfd_check_format(abfd,1);\n    if (iVar12 == 0) {\n      pcVar17 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      einfo(pcVar17,filename);\n    }\n    else {\n      uVar13 = pe_get32(abfd,0x3c);\n      uVar14 = pe_get32(abfd,uVar13 + 0x84);\n      if (uVar14 != 0) {\n        uVar14 = pe_get32(abfd,uVar13 + 0x88);\n        uVar15 = pe_get32(abfd,uVar13 + 0x8c);\n        local_88 = (ulong)uVar15;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }\n      }\n    }\n  }" else (compound_statement "{\n    iVar12 = bfd_check_format(abfd,1);\n    if (iVar12 == 0) {\n      pcVar17 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      einfo(pcVar17,filename);\n    }\n    else {\n      uVar13 = pe_get32(abfd,0x3c);\n      uVar14 = pe_get32(abfd,uVar13 + 0x84);\n      if (uVar14 != 0) {\n        uVar14 = pe_get32(abfd,uVar13 + 0x88);\n        uVar15 = pe_get32(abfd,uVar13 + 0x8c);\n        local_88 = (ulong)uVar15;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }\n      }\n    }\n  }" { (expression_statement "iVar12 = bfd_check_format(abfd,1);" (assignment_expression "iVar12 = bfd_check_format(abfd,1)" identifier = (call_expression "bfd_check_format(abfd,1)" identifier (argument_list "(abfd,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar12 == 0) {\n      pcVar17 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      einfo(pcVar17,filename);\n    }\n    else {\n      uVar13 = pe_get32(abfd,0x3c);\n      uVar14 = pe_get32(abfd,uVar13 + 0x84);\n      if (uVar14 != 0) {\n        uVar14 = pe_get32(abfd,uVar13 + 0x88);\n        uVar15 = pe_get32(abfd,uVar13 + 0x8c);\n        local_88 = (ulong)uVar15;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }\n      }\n    }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar17 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      einfo(pcVar17,filename);\n    }" { (expression_statement "pcVar17 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" identifier (argument_list "(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" ( number_literal , (string_literal ""%X%P: %s: this doesn\'t appear to be a DLL\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar17,filename);" (call_expression "einfo(pcVar17,filename)" identifier (argument_list "(pcVar17,filename)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      uVar13 = pe_get32(abfd,0x3c);\n      uVar14 = pe_get32(abfd,uVar13 + 0x84);\n      if (uVar14 != 0) {\n        uVar14 = pe_get32(abfd,uVar13 + 0x88);\n        uVar15 = pe_get32(abfd,uVar13 + 0x8c);\n        local_88 = (ulong)uVar15;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }\n      }\n    }" else (compound_statement "{\n      uVar13 = pe_get32(abfd,0x3c);\n      uVar14 = pe_get32(abfd,uVar13 + 0x84);\n      if (uVar14 != 0) {\n        uVar14 = pe_get32(abfd,uVar13 + 0x88);\n        uVar15 = pe_get32(abfd,uVar13 + 0x8c);\n        local_88 = (ulong)uVar15;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }\n      }\n    }" { (expression_statement "uVar13 = pe_get32(abfd,0x3c);" (assignment_expression "uVar13 = pe_get32(abfd,0x3c)" identifier = (call_expression "pe_get32(abfd,0x3c)" identifier (argument_list "(abfd,0x3c)" ( identifier , number_literal )))) ;) (expression_statement "uVar14 = pe_get32(abfd,uVar13 + 0x84);" (assignment_expression "uVar14 = pe_get32(abfd,uVar13 + 0x84)" identifier = (call_expression "pe_get32(abfd,uVar13 + 0x84)" identifier (argument_list "(abfd,uVar13 + 0x84)" ( identifier , (binary_expression "uVar13 + 0x84" identifier + number_literal) )))) ;) (if_statement "if (uVar14 != 0) {\n        uVar14 = pe_get32(abfd,uVar13 + 0x88);\n        uVar15 = pe_get32(abfd,uVar13 + 0x8c);\n        local_88 = (ulong)uVar15;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }\n      }" if (parenthesized_expression "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar14 = pe_get32(abfd,uVar13 + 0x88);\n        uVar15 = pe_get32(abfd,uVar13 + 0x8c);\n        local_88 = (ulong)uVar15;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }\n      }" { (expression_statement "uVar14 = pe_get32(abfd,uVar13 + 0x88);" (assignment_expression "uVar14 = pe_get32(abfd,uVar13 + 0x88)" identifier = (call_expression "pe_get32(abfd,uVar13 + 0x88)" identifier (argument_list "(abfd,uVar13 + 0x88)" ( identifier , (binary_expression "uVar13 + 0x88" identifier + number_literal) )))) ;) (expression_statement "uVar15 = pe_get32(abfd,uVar13 + 0x8c);" (assignment_expression "uVar15 = pe_get32(abfd,uVar13 + 0x8c)" identifier = (call_expression "pe_get32(abfd,uVar13 + 0x8c)" identifier (argument_list "(abfd,uVar13 + 0x8c)" ( identifier , (binary_expression "uVar13 + 0x8c" identifier + number_literal) )))) ;) (expression_statement "local_88 = (ulong)uVar15;" (assignment_expression "local_88 = (ulong)uVar15" identifier = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (local_88 != 0) {\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }" if (parenthesized_expression "(local_88 != 0)" ( (binary_expression "local_88 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar16 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 6);\n          uVar26 = (ulong)uVar14;\n          uVar14 = pe_get16(abfd,uVar13 + 0x14);\n          lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;\n          if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }\n          lVar25 = xmalloc(local_88);\n          bfd_seek(abfd,local_68,0);\n          bfd_bread(lVar25,local_88,abfd);\n          uVar16 = lVar25 - uVar16;\n          if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }\n          bVar1 = *(byte *)(lVar25 + 0x21);\n          bVar2 = *(byte *)(lVar25 + 0x18);\n          bVar3 = *(byte *)(lVar25 + 0x19);\n          bVar4 = *(byte *)(lVar25 + 0x22);\n          bVar5 = *(byte *)(lVar25 + 0x1a);\n          bVar6 = *(byte *)(lVar25 + 0x1b);\n          bVar7 = *(byte *)(lVar25 + 0x20);\n          local_4c = (uint)*(byte *)(lVar25 + 0x23);\n          bVar8 = *(byte *)(lVar25 + 0x1c);\n          bVar9 = *(byte *)(lVar25 + 0x1d);\n          bVar10 = *(byte *)(lVar25 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar25 + 0x1f);\n          pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);\n          pdVar18 = def_get_module(pep_def_file,pcVar17);\n          if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }\n          return 1;\n        }" { (expression_statement "uVar16 = (ulong)uVar14;" (assignment_expression "uVar16 = (ulong)uVar14" identifier = (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar14 = pe_get16(abfd,uVar13 + 6);" (assignment_expression "uVar14 = pe_get16(abfd,uVar13 + 6)" identifier = (call_expression "pe_get16(abfd,uVar13 + 6)" identifier (argument_list "(abfd,uVar13 + 6)" ( identifier , (binary_expression "uVar13 + 6" identifier + number_literal) )))) ;) (expression_statement "uVar26 = (ulong)uVar14;" (assignment_expression "uVar26 = (ulong)uVar14" identifier = (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar14 = pe_get16(abfd,uVar13 + 0x14);" (assignment_expression "uVar14 = pe_get16(abfd,uVar13 + 0x14)" identifier = (call_expression "pe_get16(abfd,uVar13 + 0x14)" identifier (argument_list "(abfd,uVar13 + 0x14)" ( identifier , (binary_expression "uVar13 + 0x14" identifier + number_literal) )))) ;) (expression_statement "lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14;" (assignment_expression "lVar25 = (ulong)uVar13 + 0x18 + (ulong)uVar14" identifier = (binary_expression "(ulong)uVar13 + 0x18 + (ulong)uVar14" (binary_expression "(ulong)uVar13 + 0x18" (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) + number_literal) + (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (if_statement "if (uVar26 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }" if (parenthesized_expression "(uVar26 == 0)" ( (binary_expression "uVar26 == 0" identifier == number_literal) )) (compound_statement "{\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }" { (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" identifier = number_literal) ;) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }" else (compound_statement "{\n            uVar28 = 0;\n            lVar21 = lVar25;\n            do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar28 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);\n          }" { (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "lVar21 = lVar25;" (assignment_expression "lVar21 = lVar25" identifier = identifier) ;) (do_statement "do {\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            } while (uVar26 != uVar28);" do (compound_statement "{\n              iVar12 = (int)lVar21;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0x10);\n              uVar14 = pe_get32(abfd,iVar12 + 0x14);\n              bfd_seek(abfd,lVar21,0);\n              bfd_bread(sname,8,abfd);\n              if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }\n              uVar28 = uVar28 + 1;\n              lVar21 = lVar21 + 0x28;\n            }" { (expression_statement "iVar12 = (int)lVar21;" (assignment_expression "iVar12 = (int)lVar21" identifier = (cast_expression "(int)lVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar13 = pe_get32(abfd,iVar12 + 0xc);" (assignment_expression "uVar13 = pe_get32(abfd,iVar12 + 0xc)" identifier = (call_expression "pe_get32(abfd,iVar12 + 0xc)" identifier (argument_list "(abfd,iVar12 + 0xc)" ( identifier , (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) ;) (expression_statement "uVar27 = (ulong)uVar13;" (assignment_expression "uVar27 = (ulong)uVar13" identifier = (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar13 = pe_get32(abfd,iVar12 + 0x10);" (assignment_expression "uVar13 = pe_get32(abfd,iVar12 + 0x10)" identifier = (call_expression "pe_get32(abfd,iVar12 + 0x10)" identifier (argument_list "(abfd,iVar12 + 0x10)" ( identifier , (binary_expression "iVar12 + 0x10" identifier + number_literal) )))) ;) (expression_statement "uVar14 = pe_get32(abfd,iVar12 + 0x14);" (assignment_expression "uVar14 = pe_get32(abfd,iVar12 + 0x14)" identifier = (call_expression "pe_get32(abfd,iVar12 + 0x14)" identifier (argument_list "(abfd,iVar12 + 0x14)" ( identifier , (binary_expression "iVar12 + 0x14" identifier + number_literal) )))) ;) (expression_statement "bfd_seek(abfd,lVar21,0);" (call_expression "bfd_seek(abfd,lVar21,0)" identifier (argument_list "(abfd,lVar21,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(sname,8,abfd);" (call_expression "bfd_bread(sname,8,abfd)" identifier (argument_list "(sname,8,abfd)" ( identifier , number_literal , identifier ))) ;) (if_statement "if ((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)) {\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }" if (parenthesized_expression "((uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24))" ( (binary_expression "(uVar27 <= uVar16) && (uVar24 = uVar13 + uVar27, uVar16 < uVar24)" (parenthesized_expression "(uVar27 <= uVar16)" ( (binary_expression "uVar27 <= uVar16" identifier <= identifier) )) && (parenthesized_expression "(uVar24 = uVar13 + uVar27, uVar16 < uVar24)" ( (comma_expression "uVar24 = uVar13 + uVar27, uVar16 < uVar24" (assignment_expression "uVar24 = uVar13 + uVar27" identifier = (binary_expression "uVar13 + uVar27" identifier + identifier)) , (binary_expression "uVar16 < uVar24" identifier < identifier)) ))) )) (compound_statement "{\n                uVar28 = uVar24 - uVar16;\n                if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }\n                local_68 = (uVar14 - uVar27) + uVar16;\n                local_88 = uVar28;\n                goto LAB_0015194c;\n              }" { (expression_statement "uVar28 = uVar24 - uVar16;" (assignment_expression "uVar28 = uVar24 - uVar16" identifier = (binary_expression "uVar24 - uVar16" identifier - identifier)) ;) (if_statement "if (uVar16 + local_88 <= uVar24) {\n                  uVar28 = local_88;\n                }" if (parenthesized_expression "(uVar16 + local_88 <= uVar24)" ( (binary_expression "uVar16 + local_88 <= uVar24" (binary_expression "uVar16 + local_88" identifier + identifier) <= identifier) )) (compound_statement "{\n                  uVar28 = local_88;\n                }" { (expression_statement "uVar28 = local_88;" (assignment_expression "uVar28 = local_88" identifier = identifier) ;) })) (expression_statement "local_68 = (uVar14 - uVar27) + uVar16;" (assignment_expression "local_68 = (uVar14 - uVar27) + uVar16" identifier = (binary_expression "(uVar14 - uVar27) + uVar16" (parenthesized_expression "(uVar14 - uVar27)" ( (binary_expression "uVar14 - uVar27" identifier - identifier) )) + identifier)) ;) (expression_statement "local_88 = uVar28;" (assignment_expression "local_88 = uVar28" identifier = identifier) ;) (goto_statement "goto LAB_0015194c;" goto statement_identifier ;) })) (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 1" identifier + number_literal)) ;) (expression_statement "lVar21 = lVar21 + 0x28;" (assignment_expression "lVar21 = lVar21 + 0x28" identifier = (binary_expression "lVar21 + 0x28" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar26 != uVar28)" ( (binary_expression "uVar26 != uVar28" identifier != identifier) )) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0015194c:\n            local_78 = 0;" statement_identifier : (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;)) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" identifier = number_literal) ;) (labeled_statement "LAB_001519c1:\n            do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);" statement_identifier : (do_statement "do {\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            } while (uVar26 != uVar28);" do (compound_statement "{\n              iVar12 = (int)lVar25;\n              uVar13 = pe_get32(abfd,iVar12 + 8);\n              uVar27 = (ulong)uVar13;\n              uVar13 = pe_get32(abfd,iVar12 + 0xc);\n              uVar24 = (ulong)uVar13;\n              pe_get32(abfd,iVar12 + 0x24);\n              uVar29 = 0;\n              uVar32 = 1;\n              bfd_seek(abfd,lVar25);\n              bfd_bread(sname,8,abfd);\n              lVar21 = 6;\n              pbVar20 = (byte *)sname;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);\n              bVar30 = false;\n              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;\n              if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar27 + uVar24;\n              local_a8 = uVar24;\njoined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar28 = uVar28 + 1;\n              lVar25 = lVar25 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);\n            }" { (expression_statement "iVar12 = (int)lVar25;" (assignment_expression "iVar12 = (int)lVar25" identifier = (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar13 = pe_get32(abfd,iVar12 + 8);" (assignment_expression "uVar13 = pe_get32(abfd,iVar12 + 8)" identifier = (call_expression "pe_get32(abfd,iVar12 + 8)" identifier (argument_list "(abfd,iVar12 + 8)" ( identifier , (binary_expression "iVar12 + 8" identifier + number_literal) )))) ;) (expression_statement "uVar27 = (ulong)uVar13;" (assignment_expression "uVar27 = (ulong)uVar13" identifier = (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar13 = pe_get32(abfd,iVar12 + 0xc);" (assignment_expression "uVar13 = pe_get32(abfd,iVar12 + 0xc)" identifier = (call_expression "pe_get32(abfd,iVar12 + 0xc)" identifier (argument_list "(abfd,iVar12 + 0xc)" ( identifier , (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) ;) (expression_statement "uVar24 = (ulong)uVar13;" (assignment_expression "uVar24 = (ulong)uVar13" identifier = (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pe_get32(abfd,iVar12 + 0x24);" (call_expression "pe_get32(abfd,iVar12 + 0x24)" identifier (argument_list "(abfd,iVar12 + 0x24)" ( identifier , (binary_expression "iVar12 + 0x24" identifier + number_literal) ))) ;) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (expression_statement "uVar32 = 1;" (assignment_expression "uVar32 = 1" identifier = number_literal) ;) (expression_statement "bfd_seek(abfd,lVar25);" (call_expression "bfd_seek(abfd,lVar25)" identifier (argument_list "(abfd,lVar25)" ( identifier , identifier ))) ;) (expression_statement "bfd_bread(sname,8,abfd);" (call_expression "bfd_bread(sname,8,abfd)" identifier (argument_list "(sname,8,abfd)" ( identifier , number_literal , identifier ))) ;) (expression_statement "lVar21 = 6;" (assignment_expression "lVar21 = 6" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)sname;" (assignment_expression "pbVar20 = (byte *)sname" identifier = (cast_expression "(byte *)sname" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar22 = (byte *)0x19f8a8;" (assignment_expression "pbVar22 = (byte *)0x19f8a8" identifier = (cast_expression "(byte *)0x19f8a8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              } while ((bool)uVar32);" do (compound_statement "{\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                uVar29 = *pbVar20 < *pbVar22;\n                uVar32 = *pbVar20 == *pbVar22;\n                pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n              }" { (if_statement "if (lVar21 == 0) break;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" identifier = (binary_expression "lVar21 + -1" identifier + number_literal)) ;) (expression_statement "uVar29 = *pbVar20 < *pbVar22;" (assignment_expression "uVar29 = *pbVar20 < *pbVar22" identifier = (binary_expression "*pbVar20 < *pbVar22" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "uVar32 = *pbVar20 == *pbVar22;" (assignment_expression "uVar32 = *pbVar20 == *pbVar22" identifier = (binary_expression "*pbVar20 == *pbVar22" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar34 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar34 * -2" identifier + (binary_expression "(ulong)bVar34 * -2" (cast_expression "(ulong)bVar34" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar34 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar34 * -2" identifier + (binary_expression "(ulong)bVar34 * -2" (cast_expression "(ulong)bVar34" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar32)" ( (cast_expression "(bool)uVar32" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar30 = false;" (assignment_expression "bVar30 = false" identifier = false) ;) (expression_statement "bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;" (assignment_expression "bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29" identifier = (binary_expression "(!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29" (parenthesized_expression "(!(bool)uVar29 && !(bool)uVar32)" ( (binary_expression "!(bool)uVar29 && !(bool)uVar32" (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar32" ! (cast_expression "(bool)uVar32" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (!bVar33) {\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }" if (parenthesized_expression "(!bVar33)" ( (unary_expression "!bVar33" ! identifier) )) (compound_statement "{\n                lVar21 = 7;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);\n                bVar31 = false;\n                bVar30 = (!bVar30 && !bVar33) == bVar30;\n                if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }\n                lVar21 = 5;\n                pbVar20 = (byte *)sname;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);\n                if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar28 = uVar28 + 1;\n                lVar25 = lVar25 + 0x28;\n                if (uVar26 == uVar28) break;\n                goto LAB_001519c1;\n              }" { (expression_statement "lVar21 = 7;" (assignment_expression "lVar21 = 7" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)sname;" (assignment_expression "pbVar20 = (byte *)sname" identifier = (cast_expression "(byte *)sname" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar22 = (byte *)".rdata";" (assignment_expression "pbVar22 = (byte *)".rdata"" identifier = (cast_expression "(byte *)".rdata"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".rdata"" " string_content "))) ;) (do_statement "do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar33);" do (compound_statement "{\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar30 = *pbVar20 < *pbVar22;\n                  bVar33 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                }" { (if_statement "if (lVar21 == 0) break;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" identifier = (binary_expression "lVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar30 = *pbVar20 < *pbVar22;" (assignment_expression "bVar30 = *pbVar20 < *pbVar22" identifier = (binary_expression "*pbVar20 < *pbVar22" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar33 = *pbVar20 == *pbVar22;" (assignment_expression "bVar33 = *pbVar20 == *pbVar22" identifier = (binary_expression "*pbVar20 == *pbVar22" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar34 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar34 * -2" identifier + (binary_expression "(ulong)bVar34 * -2" (cast_expression "(ulong)bVar34" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar34 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar34 * -2" identifier + (binary_expression "(ulong)bVar34 * -2" (cast_expression "(ulong)bVar34" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar33)" ( identifier )) ;) (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (expression_statement "bVar30 = (!bVar30 && !bVar33) == bVar30;" (assignment_expression "bVar30 = (!bVar30 && !bVar33) == bVar30" identifier = (binary_expression "(!bVar30 && !bVar33) == bVar30" (parenthesized_expression "(!bVar30 && !bVar33)" ( (binary_expression "!bVar30 && !bVar33" (unary_expression "!bVar30" ! identifier) && (unary_expression "!bVar33" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar30) {\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\n                  local_90 = uVar27 + uVar24;\n                  local_98 = uVar24;\n                  goto joined_r0x001519a9;\n                }" { (expression_statement "local_90 = uVar27 + uVar24;" (assignment_expression "local_90 = uVar27 + uVar24" identifier = (binary_expression "uVar27 + uVar24" identifier + identifier)) ;) (expression_statement "local_98 = uVar24;" (assignment_expression "local_98 = uVar24" identifier = identifier) ;) (goto_statement "goto joined_r0x001519a9;" goto statement_identifier ;) })) (expression_statement "lVar21 = 5;" (assignment_expression "lVar21 = 5" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)sname;" (assignment_expression "pbVar20 = (byte *)sname" identifier = (cast_expression "(byte *)sname" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar22 = (byte *)0x19f8b4;" (assignment_expression "pbVar22 = (byte *)0x19f8b4" identifier = (cast_expression "(byte *)0x19f8b4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                } while (bVar30);" do (compound_statement "{\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar31 = *pbVar20 < *pbVar22;\n                  bVar30 = *pbVar20 == *pbVar22;\n                  pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                }" { (if_statement "if (lVar21 == 0) break;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" identifier = (binary_expression "lVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar20 < *pbVar22;" (assignment_expression "bVar31 = *pbVar20 < *pbVar22" identifier = (binary_expression "*pbVar20 < *pbVar22" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar30 = *pbVar20 == *pbVar22;" (assignment_expression "bVar30 = *pbVar20 == *pbVar22" identifier = (binary_expression "*pbVar20 == *pbVar22" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar34 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar34 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar34 * -2" identifier + (binary_expression "(ulong)bVar34 * -2" (cast_expression "(ulong)bVar34" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar34 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar34 * -2" identifier + (binary_expression "(ulong)bVar34 * -2" (cast_expression "(ulong)bVar34" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (if_statement "if (((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))\n                goto LAB_00151a71;" if (parenthesized_expression "(((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0))" ( (binary_expression "((!bVar31 && !bVar30) == bVar31) &&\n                   (local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0)" (parenthesized_expression "((!bVar31 && !bVar30) == bVar31)" ( (binary_expression "(!bVar31 && !bVar30) == bVar31" (parenthesized_expression "(!bVar31 && !bVar30)" ( (binary_expression "!bVar31 && !bVar30" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar30" ! identifier)) )) == identifier) )) && (parenthesized_expression "(local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0)" ( (comma_expression "local_78 = uVar27 + uVar24, local_80 = uVar24, pep_dll_extra_pe_debug != 0" (assignment_expression "local_78 = uVar27 + uVar24" identifier = (binary_expression "uVar27 + uVar24" identifier + identifier)) , (comma_expression "local_80 = uVar24, pep_dll_extra_pe_debug != 0" (assignment_expression "local_80 = uVar24" identifier = identifier) , (binary_expression "pep_dll_extra_pe_debug != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_00151a71;" goto statement_identifier ;)) (labeled_statement "LAB_001519af:\n                uVar28 = uVar28 + 1;" statement_identifier : (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 1" identifier + number_literal)) ;)) (expression_statement "lVar25 = lVar25 + 0x28;" (assignment_expression "lVar25 = lVar25 + 0x28" identifier = (binary_expression "lVar25 + 0x28" identifier + number_literal)) ;) (if_statement "if (uVar26 == uVar28) break;" if (parenthesized_expression "(uVar26 == uVar28)" ( (binary_expression "uVar26 == uVar28" identifier == identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_001519c1;" goto statement_identifier ;) })) (expression_statement "local_a0 = uVar27 + uVar24;" (assignment_expression "local_a0 = uVar27 + uVar24" identifier = (binary_expression "uVar27 + uVar24" identifier + identifier)) ;) (expression_statement "local_a8 = uVar24;" (assignment_expression "local_a8 = uVar24" identifier = identifier) ;) (labeled_statement "joined_r0x001519a9:\n              if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;" statement_identifier : (if_statement "if (pep_dll_extra_pe_debug == 0) goto LAB_001519af;" if (parenthesized_expression "(pep_dll_extra_pe_debug == 0)" ( (binary_expression "pep_dll_extra_pe_debug == 0" identifier == number_literal) )) (goto_statement "goto LAB_001519af;" goto statement_identifier ;))) (labeled_statement "LAB_00151a71:\n              uVar28 = uVar28 + 1;" statement_identifier : (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 1" identifier + number_literal)) ;)) (expression_statement "lVar25 = lVar25 + 0x28;" (assignment_expression "lVar25 = lVar25 + 0x28" identifier = (binary_expression "lVar25 + 0x28" identifier + number_literal)) ;) (expression_statement "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24);" (call_expression "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24)" identifier (argument_list "("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,uVar24)" ( (string_literal ""%s %s: 0x%08lx-0x%08lx (0x%08lx)\n"" " string_content escape_sequence ") , (string_literal ""pep_implied_import_dll"" " string_content ") , identifier , identifier ))) ;) }) while (parenthesized_expression "(uVar26 != uVar28)" ( (binary_expression "uVar26 != uVar28" identifier != identifier) )) ;)) }))) (expression_statement "lVar25 = xmalloc(local_88);" (assignment_expression "lVar25 = xmalloc(local_88)" identifier = (call_expression "xmalloc(local_88)" identifier (argument_list "(local_88)" ( identifier )))) ;) (expression_statement "bfd_seek(abfd,local_68,0);" (call_expression "bfd_seek(abfd,local_68,0)" identifier (argument_list "(abfd,local_68,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(lVar25,local_88,abfd);" (call_expression "bfd_bread(lVar25,local_88,abfd)" identifier (argument_list "(lVar25,local_88,abfd)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar16 = lVar25 - uVar16;" (assignment_expression "uVar16 = lVar25 - uVar16" identifier = (binary_expression "lVar25 - uVar16" identifier - identifier)) ;) (if_statement "if (pep_def_file == (def_file *)0x0) {\n            pep_def_file = def_file_empty();\n          }" if (parenthesized_expression "(pep_def_file == (def_file *)0x0)" ( (binary_expression "pep_def_file == (def_file *)0x0" identifier == (cast_expression "(def_file *)0x0" ( (type_descriptor "def_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pep_def_file = def_file_empty();\n          }" { (expression_statement "pep_def_file = def_file_empty();" (assignment_expression "pep_def_file = def_file_empty()" identifier = (call_expression "def_file_empty()" identifier (argument_list "()" ( )))) ;) })) (expression_statement "bVar1 = *(byte *)(lVar25 + 0x21);" (assignment_expression "bVar1 = *(byte *)(lVar25 + 0x21)" identifier = (pointer_expression "*(byte *)(lVar25 + 0x21)" * (cast_expression "(byte *)(lVar25 + 0x21)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x21)" ( (binary_expression "lVar25 + 0x21" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = *(byte *)(lVar25 + 0x18);" (assignment_expression "bVar2 = *(byte *)(lVar25 + 0x18)" identifier = (pointer_expression "*(byte *)(lVar25 + 0x18)" * (cast_expression "(byte *)(lVar25 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x18)" ( (binary_expression "lVar25 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "bVar3 = *(byte *)(lVar25 + 0x19);" (assignment_expression "bVar3 = *(byte *)(lVar25 + 0x19)" identifier = (pointer_expression "*(byte *)(lVar25 + 0x19)" * (cast_expression "(byte *)(lVar25 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x19)" ( (binary_expression "lVar25 + 0x19" identifier + number_literal) ))))) ;) (expression_statement "bVar4 = *(byte *)(lVar25 + 0x22);" (assignment_expression "bVar4 = *(byte *)(lVar25 + 0x22)" identifier = (pointer_expression "*(byte *)(lVar25 + 0x22)" * (cast_expression "(byte *)(lVar25 + 0x22)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x22)" ( (binary_expression "lVar25 + 0x22" identifier + number_literal) ))))) ;) (expression_statement "bVar5 = *(byte *)(lVar25 + 0x1a);" (assignment_expression "bVar5 = *(byte *)(lVar25 + 0x1a)" identifier = (pointer_expression "*(byte *)(lVar25 + 0x1a)" * (cast_expression "(byte *)(lVar25 + 0x1a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x1a)" ( (binary_expression "lVar25 + 0x1a" identifier + number_literal) ))))) ;) (expression_statement "bVar6 = *(byte *)(lVar25 + 0x1b);" (assignment_expression "bVar6 = *(byte *)(lVar25 + 0x1b)" identifier = (pointer_expression "*(byte *)(lVar25 + 0x1b)" * (cast_expression "(byte *)(lVar25 + 0x1b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x1b)" ( (binary_expression "lVar25 + 0x1b" identifier + number_literal) ))))) ;) (expression_statement "bVar7 = *(byte *)(lVar25 + 0x20);" (assignment_expression "bVar7 = *(byte *)(lVar25 + 0x20)" identifier = (pointer_expression "*(byte *)(lVar25 + 0x20)" * (cast_expression "(byte *)(lVar25 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x20)" ( (binary_expression "lVar25 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_4c = (uint)*(byte *)(lVar25 + 0x23);" (assignment_expression "local_4c = (uint)*(byte *)(lVar25 + 0x23)" identifier = (binary_expression "(uint)*(byte *)(lVar25 + 0x23)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar25 + 0x23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x23)" ( (binary_expression "lVar25 + 0x23" identifier + number_literal) ))))) ;) (expression_statement "bVar8 = *(byte *)(lVar25 + 0x1c);" (assignment_expression "bVar8 = *(byte *)(lVar25 + 0x1c)" identifier = (pointer_expression "*(byte *)(lVar25 + 0x1c)" * (cast_expression "(byte *)(lVar25 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x1c)" ( (binary_expression "lVar25 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "bVar9 = *(byte *)(lVar25 + 0x1d);" (assignment_expression "bVar9 = *(byte *)(lVar25 + 0x1d)" identifier = (pointer_expression "*(byte *)(lVar25 + 0x1d)" * (cast_expression "(byte *)(lVar25 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x1d)" ( (binary_expression "lVar25 + 0x1d" identifier + number_literal) ))))) ;) (expression_statement "bVar10 = *(byte *)(lVar25 + 0x1e);" (assignment_expression "bVar10 = *(byte *)(lVar25 + 0x1e)" identifier = (pointer_expression "*(byte *)(lVar25 + 0x1e)" * (cast_expression "(byte *)(lVar25 + 0x1e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x1e)" ( (binary_expression "lVar25 + 0x1e" identifier + number_literal) ))))) ;) (expression_statement "local_5c = (uint)*(byte *)(lVar25 + 0x1f);" (assignment_expression "local_5c = (uint)*(byte *)(lVar25 + 0x1f)" identifier = (binary_expression "(uint)*(byte *)(lVar25 + 0x1f)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar25 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x1f)" ( (binary_expression "lVar25 + 0x1f" identifier + number_literal) ))))) ;) (expression_statement "pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16);" (assignment_expression "pcVar17 = (char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16)" identifier = (cast_expression "(char *)(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16)" ( (binary_expression "((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000) + uVar16" (parenthesized_expression "((uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000)" ( (binary_expression "(uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100\n                             + (uint)*(byte *)(lVar25 + 0xf) * 0x1000000" (binary_expression "(uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc) + (uint)*(byte *)(lVar25 + 0xd) * 0x100" (binary_expression "(uint)*(byte *)(lVar25 + 0xe) * 0x10000 +\n                              (uint)*(byte *)(lVar25 + 0xc)" (binary_expression "(uint)*(byte *)(lVar25 + 0xe) * 0x10000" (binary_expression "(uint)*(byte *)(lVar25 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar25 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0xe)" ( (binary_expression "lVar25 + 0xe" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)(lVar25 + 0xc)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar25 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0xc)" ( (binary_expression "lVar25 + 0xc" identifier + number_literal) ))))) + (binary_expression "(uint)*(byte *)(lVar25 + 0xd) * 0x100" (binary_expression "(uint)*(byte *)(lVar25 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar25 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0xd)" ( (binary_expression "lVar25 + 0xd" identifier + number_literal) )))) * number_literal)) + (binary_expression "(uint)*(byte *)(lVar25 + 0xf) * 0x1000000" (binary_expression "(uint)*(byte *)(lVar25 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar25 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0xf)" ( (binary_expression "lVar25 + 0xf" identifier + number_literal) )))) * number_literal)) )) + identifier) )))) ;) (expression_statement "pdVar18 = def_get_module(pep_def_file,pcVar17);" (assignment_expression "pdVar18 = def_get_module(pep_def_file,pcVar17)" identifier = (call_expression "def_get_module(pep_def_file,pcVar17)" identifier (argument_list "(pep_def_file,pcVar17)" ( identifier , identifier )))) ;) (if_statement "if (pdVar18 == (def_file_module *)0x0) {\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }\n          else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }" if (parenthesized_expression "(pdVar18 == (def_file_module *)0x0)" ( (binary_expression "pdVar18 == (def_file_module *)0x0" identifier == (cast_expression "(def_file_module *)0x0" ( (type_descriptor "def_file_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar20 = (byte *)(uVar16 + uVar28);\n            uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);\n            if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }\n          }" { (expression_statement "uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;" (assignment_expression "uVar13 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000" identifier = (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000" (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000" (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "(uint)bVar3 * 0x100" (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "(uint)bVar5 * 0x10000" (cast_expression "(uint)bVar5" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "(uint)bVar6 * 0x1000000" (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal))) ;) (expression_statement "uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);" (assignment_expression "uVar28 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" identifier = (call_expression "(ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" ( (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7" (binary_expression "(uint)bVar4 * 0x10000" (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)bVar1 * 0x100" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "local_4c * 0x1000000" identifier * number_literal)) )))) ;) (expression_statement "pbVar20 = (byte *)(uVar16 + uVar28);" (assignment_expression "pbVar20 = (byte *)(uVar16 + uVar28)" identifier = (cast_expression "(byte *)(uVar16 + uVar28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 + uVar28)" ( (binary_expression "uVar16 + uVar28" identifier + identifier) )))) ;) (expression_statement "uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);" (assignment_expression "uVar26 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" identifier = (call_expression "(ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" ( (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000" (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100" (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8" (binary_expression "(uint)bVar10 * 0x10000" (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)bVar9 * 0x100" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "local_5c * 0x1000000" identifier * number_literal)) )))) ;) (expression_statement "iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0);" (assignment_expression "iVar12 = def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0)" identifier = (call_expression "def_file_add_import_from\n                               (pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0)" identifier (argument_list "(pep_def_file,uVar13,\n                                (char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16),\n                                pcVar17,0,(char *)0x0,(char *)0x0)" ( identifier , identifier , (cast_expression "(char *)(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16)" ( (binary_expression "((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100) + uVar16" (parenthesized_expression "((uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100)" ( (binary_expression "(uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20 + (uint)pbVar20[1] * 0x100" (binary_expression "(uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000 +\n                                         (uint)*pbVar20" (binary_expression "(uint)pbVar20[3] * 0x1000000 +\n                                         (uint)pbVar20[2] * 0x10000" (binary_expression "(uint)pbVar20[3] * 0x1000000" (cast_expression "(uint)pbVar20[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[3]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)pbVar20[2] * 0x10000" (cast_expression "(uint)pbVar20[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[2]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)*pbVar20" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar20[1] * 0x100" (cast_expression "(uint)pbVar20[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[1]" identifier [ number_literal ])) * number_literal)) )) + identifier) ))) , identifier , number_literal , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (iVar12 < 0) {\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }\n            else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n              uVar27 = 0;\n              if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }\n            }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (if_statement "if (uVar13 != 0) {\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }" if (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);\n              }" { (do_statement "do {\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                } while (uVar13 != uVar27);" do (compound_statement "{\n                  lVar25 = 5;\n                  uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);\n                  bVar30 = CARRY8(uVar24,uVar16);\n                  name_00 = (byte *)(uVar24 + uVar16);\n                  bVar33 = name_00 == (byte *)0x0;\n                  pbVar22 = name_00;\n                  pbVar23 = (byte *)"__nm_";\n                  do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);\n                  if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }\n                  uVar27 = uVar27 + 1;\n                  pbVar20 = pbVar20 + 4;\n                }" { (expression_statement "lVar25 = 5;" (assignment_expression "lVar25 = 5" identifier = number_literal) ;) (expression_statement "uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000);" (assignment_expression "uVar24 = (ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000)" identifier = (call_expression "(ulong)((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000)" ( (binary_expression "(uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                  (uint)pbVar20[3] * 0x1000000" (binary_expression "(uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20 + (uint)pbVar20[1] * 0x100" (binary_expression "(uint)pbVar20[2] * 0x10000 +\n                                   (uint)*pbVar20" (binary_expression "(uint)pbVar20[2] * 0x10000" (cast_expression "(uint)pbVar20[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[2]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)*pbVar20" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar20[1] * 0x100" (cast_expression "(uint)pbVar20[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[1]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)pbVar20[3] * 0x1000000" (cast_expression "(uint)pbVar20[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[3]" identifier [ number_literal ])) * number_literal)) )))) ;) (expression_statement "bVar30 = CARRY8(uVar24,uVar16);" (assignment_expression "bVar30 = CARRY8(uVar24,uVar16)" identifier = (call_expression "CARRY8(uVar24,uVar16)" identifier (argument_list "(uVar24,uVar16)" ( identifier , identifier )))) ;) (expression_statement "name_00 = (byte *)(uVar24 + uVar16);" (assignment_expression "name_00 = (byte *)(uVar24 + uVar16)" identifier = (cast_expression "(byte *)(uVar24 + uVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + uVar16)" ( (binary_expression "uVar24 + uVar16" identifier + identifier) )))) ;) (expression_statement "bVar33 = name_00 == (byte *)0x0;" (assignment_expression "bVar33 = name_00 == (byte *)0x0" identifier = (binary_expression "name_00 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar22 = name_00;" (assignment_expression "pbVar22 = name_00" identifier = identifier) ;) (expression_statement "pbVar23 = (byte *)"__nm_";" (assignment_expression "pbVar23 = (byte *)"__nm_"" identifier = (cast_expression "(byte *)"__nm_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__nm_"" " string_content "))) ;) (do_statement "do {\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  } while (bVar33);" do (compound_statement "{\n                    if (lVar25 == 0) break;\n                    lVar25 = lVar25 + -1;\n                    bVar30 = *pbVar22 < *pbVar23;\n                    bVar33 = *pbVar22 == *pbVar23;\n                    pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;\n                    pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;\n                  }" { (if_statement "if (lVar25 == 0) break;" if (parenthesized_expression "(lVar25 == 0)" ( (binary_expression "lVar25 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar25 = lVar25 + -1;" (assignment_expression "lVar25 = lVar25 + -1" identifier = (binary_expression "lVar25 + -1" identifier + number_literal)) ;) (expression_statement "bVar30 = *pbVar22 < *pbVar23;" (assignment_expression "bVar30 = *pbVar22 < *pbVar23" identifier = (binary_expression "*pbVar22 < *pbVar23" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "bVar33 = *pbVar22 == *pbVar23;" (assignment_expression "bVar33 = *pbVar22 == *pbVar23" identifier = (binary_expression "*pbVar22 == *pbVar23" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar34 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar34 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar34 * -2" identifier + (binary_expression "(ulong)bVar34 * -2" (cast_expression "(ulong)bVar34" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (ulong)bVar34 * -2 + 1" identifier = (binary_expression "pbVar23 + (ulong)bVar34 * -2 + 1" (binary_expression "pbVar23 + (ulong)bVar34 * -2" identifier + (binary_expression "(ulong)bVar34 * -2" (cast_expression "(ulong)bVar34" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar33)" ( identifier )) ;) (if_statement "if ((!bVar30 && !bVar33) != bVar30) {\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }" if (parenthesized_expression "((!bVar30 && !bVar33) != bVar30)" ( (binary_expression "(!bVar30 && !bVar33) != bVar30" (parenthesized_expression "(!bVar30 && !bVar33)" ( (binary_expression "!bVar30 && !bVar33" (unary_expression "!bVar30" ! identifier) && (unary_expression "!bVar33" ! identifier)) )) != identifier) )) (compound_statement "{\n                    sname[0] = '\0';\n                    sname[1] = '\0';\n                    sname[2] = '\0';\n                    sname[3] = '\0';\n                    uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);\n                    if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }\n                    pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);\n                    if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }\n                    if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }\n                  }" { (expression_statement "sname[0] = '\0';" (assignment_expression "sname[0] = '\0'" (subscript_expression "sname[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sname[1] = '\0';" (assignment_expression "sname[1] = '\0'" (subscript_expression "sname[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sname[2] = '\0';" (assignment_expression "sname[2] = '\0'" (subscript_expression "sname[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sname[3] = '\0';" (assignment_expression "sname[3] = '\0'" (subscript_expression "sname[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000);" (assignment_expression "uVar24 = (ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000)" identifier = (call_expression "(ulong)((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000)" ( (binary_expression "(uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100 +\n                                    (uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000" (binary_expression "(uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28] +\n                                     (uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100" (binary_expression "(uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000 +\n                                     (uint)pbVar20[uVar26 - uVar28]" (binary_expression "(uint)pbVar20[uVar26 + (2 - uVar28)] * 0x10000" (cast_expression "(uint)pbVar20[uVar26 + (2 - uVar28)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[uVar26 + (2 - uVar28)]" identifier [ (binary_expression "uVar26 + (2 - uVar28)" identifier + (parenthesized_expression "(2 - uVar28)" ( (binary_expression "2 - uVar28" number_literal - identifier) ))) ])) * number_literal) + (cast_expression "(uint)pbVar20[uVar26 - uVar28]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[uVar26 - uVar28]" identifier [ (binary_expression "uVar26 - uVar28" identifier - identifier) ]))) + (binary_expression "(uint)pbVar20[uVar26 + (1 - uVar28)] * 0x100" (cast_expression "(uint)pbVar20[uVar26 + (1 - uVar28)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[uVar26 + (1 - uVar28)]" identifier [ (binary_expression "uVar26 + (1 - uVar28)" identifier + (parenthesized_expression "(1 - uVar28)" ( (binary_expression "1 - uVar28" number_literal - identifier) ))) ])) * number_literal)) + (binary_expression "(uint)pbVar20[uVar26 + (3 - uVar28)] * 0x1000000" (cast_expression "(uint)pbVar20[uVar26 + (3 - uVar28)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[uVar26 + (3 - uVar28)]" identifier [ (binary_expression "uVar26 + (3 - uVar28)" identifier + (parenthesized_expression "(3 - uVar28)" ( (binary_expression "3 - uVar28" number_literal - identifier) ))) ])) * number_literal)) )))) ;) (if_statement "if (((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))) {\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }" if (parenthesized_expression "(((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24))))" ( (binary_expression "((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)) &&\n                       ((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))" (parenthesized_expression "((uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24))" ( (binary_expression "(uVar24 < local_a8) || (uVar14 = 1, local_a0 <= uVar24)" (parenthesized_expression "(uVar24 < local_a8)" ( (binary_expression "uVar24 < local_a8" identifier < identifier) )) || (parenthesized_expression "(uVar14 = 1, local_a0 <= uVar24)" ( (comma_expression "uVar14 = 1, local_a0 <= uVar24" (assignment_expression "uVar14 = 1" identifier = number_literal) , (binary_expression "local_a0 <= uVar24" identifier <= identifier)) ))) )) && (parenthesized_expression "((uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)))" ( (parenthesized_expression "(uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24))" ( (binary_expression "uVar24 < local_98 || (uVar14 = 1, local_90 <= uVar24)" (binary_expression "uVar24 < local_98" identifier < identifier) || (parenthesized_expression "(uVar14 = 1, local_90 <= uVar24)" ( (comma_expression "uVar14 = 1, local_90 <= uVar24" (assignment_expression "uVar14 = 1" identifier = number_literal) , (binary_expression "local_90 <= uVar24" identifier <= identifier)) ))) )) ))) )) (compound_statement "{\n                      uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);\n                    }" { (expression_statement "uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24);" (assignment_expression "uVar14 = (uint)(uVar24 < local_78 && local_80 <= uVar24)" identifier = (call_expression "(uint)(uVar24 < local_78 && local_80 <= uVar24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 < local_78 && local_80 <= uVar24)" ( (binary_expression "uVar24 < local_78 && local_80 <= uVar24" (binary_expression "uVar24 < local_78" identifier < identifier) && (binary_expression "local_80 <= uVar24" identifier <= identifier)) )))) ;) })) (expression_statement "pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname);" (assignment_expression "pdVar19 = def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname)" identifier = (call_expression "def_file_add_import(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname)" identifier (argument_list "(pep_def_file,(char *)name_00,pcVar17,(int)uVar27,\n                                                  (char *)0x0,(char *)0x0,(int *)sname)" ( identifier , (cast_expression "(char *)name_00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(int *)sname" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (sname._0_4_ == 0) {\n                      pdVar19->data = uVar14;\n                    }" if (parenthesized_expression "(sname._0_4_ == 0)" ( (binary_expression "sname._0_4_ == 0" (field_expression "sname._0_4_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                      pdVar19->data = uVar14;\n                    }" { (expression_statement "pdVar19->data = uVar14;" (assignment_expression "pdVar19->data = uVar14" (field_expression "pdVar19->data" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (pep_dll_extra_pe_debug != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }" if (parenthesized_expression "(pep_dll_extra_pe_debug != 0)" ( (binary_expression "pep_dll_extra_pe_debug != 0" identifier != number_literal) )) (compound_statement "{\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);\n                    }" { (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             pcVar17,name_00)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pep_implied_import_dll"" " string_content ") , identifier , identifier ))) ;) })) })) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + 4;" (assignment_expression "pbVar20 = pbVar20 + 4" identifier = (binary_expression "pbVar20 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 != uVar27)" ( (binary_expression "uVar13 != uVar27" identifier != identifier) )) ;) })) }) (else_clause "else if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }" else (if_statement "if (uVar13 != 0) {\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }" if (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) (compound_statement "{\n              pbVar22 = (byte *)(uVar26 + uVar16);\n              uVar26 = 0;\n              do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);\n            }" { (expression_statement "pbVar22 = (byte *)(uVar26 + uVar16);" (assignment_expression "pbVar22 = (byte *)(uVar26 + uVar16)" identifier = (cast_expression "(byte *)(uVar26 + uVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar26 + uVar16)" ( (binary_expression "uVar26 + uVar16" identifier + identifier) )))) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (do_statement "do {\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar13 != uVar26);" do (compound_statement "{\n                uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar11 = (int)uVar26;\n                name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));\n                if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }\n                if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }\n                uVar26 = uVar26 + 1;\n                pbVar20 = pbVar20 + 4;\n                pbVar22 = pbVar22 + 4;\n              }" { (expression_statement "uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);" (assignment_expression "uVar28 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" identifier = (call_expression "(ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" ( (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000" (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100" (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22" (binary_expression "(uint)pbVar22[2] * 0x10000" (cast_expression "(uint)pbVar22[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar22[2]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)*pbVar22" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar22[1] * 0x100" (cast_expression "(uint)pbVar22[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar22[1]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)pbVar22[3] * 0x1000000" (cast_expression "(uint)pbVar22[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar22[3]" identifier [ number_literal ])) * number_literal)) )))) ;) (expression_statement "iVar11 = (int)uVar26;" (assignment_expression "iVar11 = (int)uVar26" identifier = (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000));" (assignment_expression "name = (char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000))" identifier = (cast_expression "(char *)(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000))" ( (binary_expression "uVar16 + ((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000)" identifier + (parenthesized_expression "((uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000)" ( (binary_expression "(uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100 +\n                                         (uint)pbVar20[3] * 0x1000000" (binary_expression "(uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20 + (uint)pbVar20[1] * 0x100" (binary_expression "(uint)pbVar20[2] * 0x10000 +\n                                          (uint)*pbVar20" (binary_expression "(uint)pbVar20[2] * 0x10000" (cast_expression "(uint)pbVar20[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[2]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)*pbVar20" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar20[1] * 0x100" (cast_expression "(uint)pbVar20[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[1]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)pbVar20[3] * 0x1000000" (cast_expression "(uint)pbVar20[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[3]" identifier [ number_literal ])) * number_literal)) ))) )))) ;) (if_statement "if ((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))) {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }\n                else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }" if (parenthesized_expression "((((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28))))" ( (binary_expression "(((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))) &&\n                   ((uVar28 < local_80 || (local_78 <= uVar28)))" (parenthesized_expression "(((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28))))" ( (binary_expression "((uVar28 < local_a8) || (local_a0 <= uVar28)) &&\n                    ((uVar28 < local_98 || (local_90 <= uVar28)))" (parenthesized_expression "((uVar28 < local_a8) || (local_a0 <= uVar28))" ( (binary_expression "(uVar28 < local_a8) || (local_a0 <= uVar28)" (parenthesized_expression "(uVar28 < local_a8)" ( (binary_expression "uVar28 < local_a8" identifier < identifier) )) || (parenthesized_expression "(local_a0 <= uVar28)" ( (binary_expression "local_a0 <= uVar28" identifier <= identifier) ))) )) && (parenthesized_expression "((uVar28 < local_98 || (local_90 <= uVar28)))" ( (parenthesized_expression "(uVar28 < local_98 || (local_90 <= uVar28))" ( (binary_expression "uVar28 < local_98 || (local_90 <= uVar28)" (binary_expression "uVar28 < local_98" identifier < identifier) || (parenthesized_expression "(local_90 <= uVar28)" ( (binary_expression "local_90 <= uVar28" identifier <= identifier) ))) )) ))) )) && (parenthesized_expression "((uVar28 < local_80 || (local_78 <= uVar28)))" ( (parenthesized_expression "(uVar28 < local_80 || (local_78 <= uVar28))" ( (binary_expression "uVar28 < local_80 || (local_78 <= uVar28)" (binary_expression "uVar28 < local_80" identifier < identifier) || (parenthesized_expression "(local_78 <= uVar28)" ( (binary_expression "local_78 <= uVar28" identifier <= identifier) ))) )) ))) )) (compound_statement "{\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 0;\n                }" { (expression_statement "pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);" (assignment_expression "pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0)" identifier = (call_expression "def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0)" identifier (argument_list "(pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0)" ( identifier , (binary_expression "iVar12 + iVar11" identifier + identifier) , identifier , identifier , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "iVar11 = pep_dll_extra_pe_debug;" (assignment_expression "iVar11 = pep_dll_extra_pe_debug" identifier = identifier) ;) (expression_statement "pdVar19->data = 0;" (assignment_expression "pdVar19->data = 0" (field_expression "pdVar19->data" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }" else (compound_statement "{\n                  pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);\n                  iVar11 = pep_dll_extra_pe_debug;\n                  pdVar19->data = 1;\n                }" { (expression_statement "pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0);" (assignment_expression "pdVar19 = def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0)" identifier = (call_expression "def_file_add_import_at\n                                      (pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0)" identifier (argument_list "(pep_def_file,iVar12 + iVar11,name,pcVar17,iVar11,(char *)0x0,\n                                       (char *)0x0)" ( identifier , (binary_expression "iVar12 + iVar11" identifier + identifier) , identifier , identifier , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "iVar11 = pep_dll_extra_pe_debug;" (assignment_expression "iVar11 = pep_dll_extra_pe_debug" identifier = identifier) ;) (expression_statement "pdVar19->data = 1;" (assignment_expression "pdVar19->data = 1" (field_expression "pdVar19->data" identifier -> field_identifier) = number_literal) ;) }))) (if_statement "if (iVar11 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);\n                }" { (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17\n                         ,name,uVar28)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pep_implied_import_dll"" " string_content ") , identifier , identifier , identifier ))) ;) })) (expression_statement "uVar26 = uVar26 + 1;" (assignment_expression "uVar26 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + 4;" (assignment_expression "pbVar20 = pbVar20 + 4" identifier = (binary_expression "pbVar20 + 4" identifier + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + 4;" (assignment_expression "pbVar22 = pbVar22 + 4" identifier = (binary_expression "pbVar22 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 != uVar26)" ( (binary_expression "uVar13 != uVar26" identifier != identifier) )) ;) })))) }) (else_clause "else if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }" else (if_statement "if (pep_dll_extra_pe_debug != 0) {\n            printf("%s is already loaded\n",pcVar17);\n          }" if (parenthesized_expression "(pep_dll_extra_pe_debug != 0)" ( (binary_expression "pep_dll_extra_pe_debug != 0" identifier != number_literal) )) (compound_statement "{\n            printf("%s is already loaded\n",pcVar17);\n          }" { (expression_statement "printf("%s is already loaded\n",pcVar17);" (call_expression "printf("%s is already loaded\n",pcVar17)" identifier (argument_list "("%s is already loaded\n",pcVar17)" ( (string_literal ""%s is already loaded\n"" " string_content escape_sequence ") , identifier ))) ;) })))) (return_statement "return 1;" return number_literal ;) })) })) }))) }))) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "undefined4 FUN_001517d0(undefined8 param_1)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  long lVar15;\n  ulong uVar16;\n  undefined8 uVar17;\n  ulong uVar18;\n  byte *pbVar19;\n  long lVar20;\n  ulong uVar21;\n  byte *pbVar22;\n  int iVar23;\n  byte *pbVar24;\n  ulong uVar25;\n  long lVar26;\n  ulong uVar27;\n  byte *pbVar28;\n  ulong uVar29;\n  undefined1 uVar30;\n  bool bVar31;\n  bool bVar32;\n  undefined1 uVar33;\n  bool bVar34;\n  byte bVar35;\n  ulong local_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong local_90;\n  ulong local_88;\n  ulong local_80;\n  ulong local_78;\n  long local_68;\n  uint local_5c;\n  uint local_4c;\n  int local_44 [2];\n  undefined1 local_3c;\n  \n  bVar35 = 0;\n  lVar15 = bfd_openr(param_1,*DAT_002b5b90);\n  if (lVar15 == 0) {\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }\n  else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_001517d0(undefined8 param_1)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  long lVar15;\n  ulong uVar16;\n  undefined8 uVar17;\n  ulong uVar18;\n  byte *pbVar19;\n  long lVar20;\n  ulong uVar21;\n  byte *pbVar22;\n  int iVar23;\n  byte *pbVar24;\n  ulong uVar25;\n  long lVar26;\n  ulong uVar27;\n  byte *pbVar28;\n  ulong uVar29;\n  undefined1 uVar30;\n  bool bVar31;\n  bool bVar32;\n  undefined1 uVar33;\n  bool bVar34;\n  byte bVar35;\n  ulong local_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong local_90;\n  ulong local_88;\n  ulong local_80;\n  ulong local_78;\n  long local_68;\n  uint local_5c;\n  uint local_4c;\n  int local_44 [2];\n  undefined1 local_3c;\n  \n  bVar35 = 0;\n  lVar15 = bfd_openr(param_1,*DAT_002b5b90);\n  if (lVar15 == 0) {\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }\n  else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_001517d0(undefined8 param_1)" identifier (parameter_list "(undefined8 param_1)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  long lVar15;\n  ulong uVar16;\n  undefined8 uVar17;\n  ulong uVar18;\n  byte *pbVar19;\n  long lVar20;\n  ulong uVar21;\n  byte *pbVar22;\n  int iVar23;\n  byte *pbVar24;\n  ulong uVar25;\n  long lVar26;\n  ulong uVar27;\n  byte *pbVar28;\n  ulong uVar29;\n  undefined1 uVar30;\n  bool bVar31;\n  bool bVar32;\n  undefined1 uVar33;\n  bool bVar34;\n  byte bVar35;\n  ulong local_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong local_90;\n  ulong local_88;\n  ulong local_80;\n  ulong local_78;\n  long local_68;\n  uint local_5c;\n  uint local_4c;\n  int local_44 [2];\n  undefined1 local_3c;\n  \n  bVar35 = 0;\n  lVar15 = bfd_openr(param_1,*DAT_002b5b90);\n  if (lVar15 == 0) {\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }\n  else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "undefined8 uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "long lVar20;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "ulong uVar25;" type_identifier identifier ;) (declaration "long lVar26;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar27;" type_identifier identifier ;) (declaration "byte *pbVar28;" type_identifier (pointer_declarator "*pbVar28" * identifier) ;) (declaration "ulong uVar29;" type_identifier identifier ;) (declaration "undefined1 uVar30;" type_identifier identifier ;) (declaration "bool bVar31;" primitive_type identifier ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "undefined1 uVar33;" type_identifier identifier ;) (declaration "bool bVar34;" primitive_type identifier ;) (declaration "byte bVar35;" type_identifier identifier ;) (declaration "ulong local_a8;" type_identifier identifier ;) (declaration "ulong local_a0;" type_identifier identifier ;) (declaration "ulong local_98;" type_identifier identifier ;) (declaration "ulong local_90;" type_identifier identifier ;) (declaration "ulong local_88;" type_identifier identifier ;) (declaration "ulong local_80;" type_identifier identifier ;) (declaration "ulong local_78;" type_identifier identifier ;) (declaration "long local_68;" (sized_type_specifier "long" long) identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "int local_44 [2];" primitive_type (array_declarator "local_44 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 local_3c;" type_identifier identifier ;) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" identifier = number_literal) ;) (expression_statement "lVar15 = bfd_openr(param_1,*DAT_002b5b90);" (assignment_expression "lVar15 = bfd_openr(param_1,*DAT_002b5b90)" identifier = (call_expression "bfd_openr(param_1,*DAT_002b5b90)" identifier (argument_list "(param_1,*DAT_002b5b90)" ( identifier , (pointer_expression "*DAT_002b5b90" * identifier) )))) ;) (if_statement "if (lVar15 == 0) {\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }\n  else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }" { (expression_statement "uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);" (assignment_expression "uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: open %s: %E\n",5)" identifier (argument_list "(0,"%X%P: open %s: %E\n",5)" ( number_literal , (string_literal ""%X%P: open %s: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00129380(uVar17,param_1);" (call_expression "FUN_00129380(uVar17,param_1)" identifier (argument_list "(uVar17,param_1)" ( identifier , identifier ))) ;) }) (else_clause "else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }" else (compound_statement "{\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }" { (expression_statement "iVar11 = bfd_check_format(lVar15,1);" (assignment_expression "iVar11 = bfd_check_format(lVar15,1)" identifier = (call_expression "bfd_check_format(lVar15,1)" identifier (argument_list "(lVar15,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }" { (expression_statement "uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);" (assignment_expression "uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" identifier (argument_list "(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" ( number_literal , (string_literal ""%X%P: %s: this doesn\'t appear to be a DLL\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00129380(uVar17,param_1);" (call_expression "FUN_00129380(uVar17,param_1)" identifier (argument_list "(uVar17,param_1)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }" else (compound_statement "{\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }" { (expression_statement "uVar12 = FUN_0014d170(lVar15,0x3c);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,0x3c)" identifier = (call_expression "FUN_0014d170(lVar15,0x3c)" identifier (argument_list "(lVar15,0x3c)" ( identifier , number_literal )))) ;) (expression_statement "iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);" (assignment_expression "iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84)" identifier = (call_expression "FUN_0014d170(lVar15,uVar12 + 0x84)" identifier (argument_list "(lVar15,uVar12 + 0x84)" ( identifier , (binary_expression "uVar12 + 0x84" identifier + number_literal) )))) ;) (if_statement "if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }" { (expression_statement "uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);" (assignment_expression "uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88)" identifier = (call_expression "FUN_0014d170(lVar15,uVar12 + 0x88)" identifier (argument_list "(lVar15,uVar12 + 0x88)" ( identifier , (binary_expression "uVar12 + 0x88" identifier + number_literal) )))) ;) (expression_statement "uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);" (assignment_expression "uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c)" identifier = (call_expression "FUN_0014d170(lVar15,uVar12 + 0x8c)" identifier (argument_list "(lVar15,uVar12 + 0x8c)" ( identifier , (binary_expression "uVar12 + 0x8c" identifier + number_literal) )))) ;) (expression_statement "local_88 = (ulong)uVar14;" (assignment_expression "local_88 = (ulong)uVar14" identifier = (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }" if (parenthesized_expression "(local_88 != 0)" ( (binary_expression "local_88 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }" { (expression_statement "uVar16 = (ulong)uVar13;" (assignment_expression "uVar16 = (ulong)uVar13" identifier = (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar13 = FUN_0014d130(lVar15,uVar12 + 6);" (assignment_expression "uVar13 = FUN_0014d130(lVar15,uVar12 + 6)" identifier = (call_expression "FUN_0014d130(lVar15,uVar12 + 6)" identifier (argument_list "(lVar15,uVar12 + 6)" ( identifier , (binary_expression "uVar12 + 6" identifier + number_literal) )))) ;) (expression_statement "uVar18 = (ulong)uVar13;" (assignment_expression "uVar18 = (ulong)uVar13" identifier = (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);" (assignment_expression "uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14)" identifier = (call_expression "FUN_0014d130(lVar15,uVar12 + 0x14)" identifier (argument_list "(lVar15,uVar12 + 0x14)" ( identifier , (binary_expression "uVar12 + 0x14" identifier + number_literal) )))) ;) (expression_statement "lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;" (assignment_expression "lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13" identifier = (binary_expression "(ulong)uVar12 + 0x18 + (ulong)uVar13" (binary_expression "(ulong)uVar12 + 0x18" (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) + number_literal) + (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (if_statement "if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }" { (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" identifier = number_literal) ;) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }" else (compound_statement "{\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }" { (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (expression_statement "lVar20 = lVar26;" (assignment_expression "lVar20 = lVar26" identifier = identifier) ;) (do_statement "do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);" do (compound_statement "{\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            }" { (expression_statement "iVar11 = (int)lVar20;" (assignment_expression "iVar11 = (int)lVar20" identifier = (cast_expression "(int)lVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 0xc)" identifier (argument_list "(lVar15,iVar11 + 0xc)" ( identifier , (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "uVar21 = (ulong)uVar12;" (assignment_expression "uVar21 = (ulong)uVar12" identifier = (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 0x10)" identifier (argument_list "(lVar15,iVar11 + 0x10)" ( identifier , (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) ;) (expression_statement "uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);" (assignment_expression "uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 0x14)" identifier (argument_list "(lVar15,iVar11 + 0x14)" ( identifier , (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) ;) (expression_statement "bfd_seek(lVar15,lVar20,0);" (call_expression "bfd_seek(lVar15,lVar20,0)" identifier (argument_list "(lVar15,lVar20,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(local_44,8,lVar15);" (call_expression "bfd_bread(local_44,8,lVar15)" identifier (argument_list "(local_44,8,lVar15)" ( identifier , number_literal , identifier ))) ;) (if_statement "if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }" if (parenthesized_expression "((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25))" ( (binary_expression "(uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)" (parenthesized_expression "(uVar21 <= uVar16)" ( (binary_expression "uVar21 <= uVar16" identifier <= identifier) )) && (parenthesized_expression "(uVar25 = uVar12 + uVar21, uVar16 < uVar25)" ( (comma_expression "uVar25 = uVar12 + uVar21, uVar16 < uVar25" (assignment_expression "uVar25 = uVar12 + uVar21" identifier = (binary_expression "uVar12 + uVar21" identifier + identifier)) , (binary_expression "uVar16 < uVar25" identifier < identifier)) ))) )) (compound_statement "{\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }" { (expression_statement "uVar29 = uVar25 - uVar16;" (assignment_expression "uVar29 = uVar25 - uVar16" identifier = (binary_expression "uVar25 - uVar16" identifier - identifier)) ;) (if_statement "if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }" if (parenthesized_expression "(uVar16 + local_88 <= uVar25)" ( (binary_expression "uVar16 + local_88 <= uVar25" (binary_expression "uVar16 + local_88" identifier + identifier) <= identifier) )) (compound_statement "{\n                  uVar29 = local_88;\n                }" { (expression_statement "uVar29 = local_88;" (assignment_expression "uVar29 = local_88" identifier = identifier) ;) })) (expression_statement "local_68 = (uVar13 - uVar21) + uVar16;" (assignment_expression "local_68 = (uVar13 - uVar21) + uVar16" identifier = (binary_expression "(uVar13 - uVar21) + uVar16" (parenthesized_expression "(uVar13 - uVar21)" ( (binary_expression "uVar13 - uVar21" identifier - identifier) )) + identifier)) ;) (expression_statement "local_88 = uVar29;" (assignment_expression "local_88 = uVar29" identifier = identifier) ;) (goto_statement "goto LAB_0015194c;" goto statement_identifier ;) })) (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ;) (expression_statement "lVar20 = lVar20 + 0x28;" (assignment_expression "lVar20 = lVar20 + 0x28" identifier = (binary_expression "lVar20 + 0x28" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 != uVar29)" ( (binary_expression "uVar18 != uVar29" identifier != identifier) )) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0015194c:\n            local_78 = 0;" statement_identifier : (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;)) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" identifier = number_literal) ;) (labeled_statement "LAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);" statement_identifier : (do_statement "do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);" do (compound_statement "{\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            }" { (expression_statement "iVar11 = (int)lVar26;" (assignment_expression "iVar11 = (int)lVar26" identifier = (cast_expression "(int)lVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 8);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 8)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 8)" identifier (argument_list "(lVar15,iVar11 + 8)" ( identifier , (binary_expression "iVar11 + 8" identifier + number_literal) )))) ;) (expression_statement "uVar21 = (ulong)uVar12;" (assignment_expression "uVar21 = (ulong)uVar12" identifier = (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 0xc)" identifier (argument_list "(lVar15,iVar11 + 0xc)" ( identifier , (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "uVar25 = (ulong)uVar12;" (assignment_expression "uVar25 = (ulong)uVar12" identifier = (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24)" identifier = (call_expression "FUN_0014d170(lVar15,iVar11 + 0x24)" identifier (argument_list "(lVar15,iVar11 + 0x24)" ( identifier , (binary_expression "iVar11 + 0x24" identifier + number_literal) )))) ;) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (expression_statement "uVar33 = 1;" (assignment_expression "uVar33 = 1" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "bfd_seek(lVar15,lVar26);" (call_expression "bfd_seek(lVar15,lVar26)" identifier (argument_list "(lVar15,lVar26)" ( identifier , identifier ))) ;) (expression_statement "bfd_bread(local_44,8,lVar15);" (call_expression "bfd_bread(local_44,8,lVar15)" identifier (argument_list "(local_44,8,lVar15)" ( identifier , number_literal , identifier ))) ;) (expression_statement "lVar20 = 6;" (assignment_expression "lVar20 = 6" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)local_44;" (assignment_expression "pbVar19 = (byte *)local_44" identifier = (cast_expression "(byte *)local_44" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar22 = (byte *)0x19f8a8;" (assignment_expression "pbVar22 = (byte *)0x19f8a8" identifier = (cast_expression "(byte *)0x19f8a8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);" do (compound_statement "{\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              }" { (if_statement "if (lVar20 == 0) break;" if (parenthesized_expression "(lVar20 == 0)" ( (binary_expression "lVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar20 = lVar20 + -1;" (assignment_expression "lVar20 = lVar20 + -1" identifier = (binary_expression "lVar20 + -1" identifier + number_literal)) ;) (expression_statement "uVar30 = *pbVar19 < *pbVar22;" (assignment_expression "uVar30 = *pbVar19 < *pbVar22" identifier = (binary_expression "*pbVar19 < *pbVar22" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "uVar33 = *pbVar19 == *pbVar22;" (assignment_expression "uVar33 = *pbVar19 == *pbVar22" identifier = (binary_expression "*pbVar19 == *pbVar22" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar33)" ( (cast_expression "(bool)uVar33" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (expression_statement "bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;" (assignment_expression "bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30" identifier = (binary_expression "(!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30" (parenthesized_expression "(!(bool)uVar30 && !(bool)uVar33)" ( (binary_expression "!(bool)uVar30 && !(bool)uVar33" (unary_expression "!(bool)uVar30" ! (cast_expression "(bool)uVar30" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar33" ! (cast_expression "(bool)uVar33" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar30" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }" { (expression_statement "lVar20 = 7;" (assignment_expression "lVar20 = 7" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)local_44;" (assignment_expression "pbVar19 = (byte *)local_44" identifier = (cast_expression "(byte *)local_44" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar22 = (byte *)".rdata";" (assignment_expression "pbVar22 = (byte *)".rdata"" identifier = (cast_expression "(byte *)".rdata"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".rdata"" " string_content "))) ;) (do_statement "do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);" do (compound_statement "{\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                }" { (if_statement "if (lVar20 == 0) break;" if (parenthesized_expression "(lVar20 == 0)" ( (binary_expression "lVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar20 = lVar20 + -1;" (assignment_expression "lVar20 = lVar20 + -1" identifier = (binary_expression "lVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar19 < *pbVar22;" (assignment_expression "bVar31 = *pbVar19 < *pbVar22" identifier = (binary_expression "*pbVar19 < *pbVar22" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar34 = *pbVar19 == *pbVar22;" (assignment_expression "bVar34 = *pbVar19 == *pbVar22" identifier = (binary_expression "*pbVar19 == *pbVar22" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (expression_statement "bVar32 = false;" (assignment_expression "bVar32 = false" identifier = false) ;) (expression_statement "bVar31 = (!bVar31 && !bVar34) == bVar31;" (assignment_expression "bVar31 = (!bVar31 && !bVar34) == bVar31" identifier = (binary_expression "(!bVar31 && !bVar34) == bVar31" (parenthesized_expression "(!bVar31 && !bVar34)" ( (binary_expression "!bVar31 && !bVar34" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }" if (parenthesized_expression "(bVar31)" ( identifier )) (compound_statement "{\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }" { (expression_statement "local_90 = uVar21 + uVar25;" (assignment_expression "local_90 = uVar21 + uVar25" identifier = (binary_expression "uVar21 + uVar25" identifier + identifier)) ;) (expression_statement "local_98 = uVar25;" (assignment_expression "local_98 = uVar25" identifier = identifier) ;) (goto_statement "goto joined_r0x001519a9;" goto statement_identifier ;) })) (expression_statement "lVar20 = 5;" (assignment_expression "lVar20 = 5" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)local_44;" (assignment_expression "pbVar19 = (byte *)local_44" identifier = (cast_expression "(byte *)local_44" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar22 = (byte *)0x19f8b4;" (assignment_expression "pbVar22 = (byte *)0x19f8b4" identifier = (cast_expression "(byte *)0x19f8b4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);" do (compound_statement "{\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                }" { (if_statement "if (lVar20 == 0) break;" if (parenthesized_expression "(lVar20 == 0)" ( (binary_expression "lVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar20 = lVar20 + -1;" (assignment_expression "lVar20 = lVar20 + -1" identifier = (binary_expression "lVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar32 = *pbVar19 < *pbVar22;" (assignment_expression "bVar32 = *pbVar19 < *pbVar22" identifier = (binary_expression "*pbVar19 < *pbVar22" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar31 = *pbVar19 == *pbVar22;" (assignment_expression "bVar31 = *pbVar19 == *pbVar22" identifier = (binary_expression "*pbVar19 == *pbVar22" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar31)" ( identifier )) ;) (if_statement "if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;" if (parenthesized_expression "(((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))" ( (binary_expression "((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0)" (parenthesized_expression "((!bVar32 && !bVar31) == bVar32)" ( (binary_expression "(!bVar32 && !bVar31) == bVar32" (parenthesized_expression "(!bVar32 && !bVar31)" ( (binary_expression "!bVar32 && !bVar31" (unary_expression "!bVar32" ! identifier) && (unary_expression "!bVar31" ! identifier)) )) == identifier) )) && (parenthesized_expression "(local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0)" ( (comma_expression "local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0" (assignment_expression "local_78 = uVar21 + uVar25" identifier = (binary_expression "uVar21 + uVar25" identifier + identifier)) , (comma_expression "local_80 = uVar25, DAT_002b5adc != 0" (assignment_expression "local_80 = uVar25" identifier = identifier) , (binary_expression "DAT_002b5adc != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_00151a71;" goto statement_identifier ;)) (labeled_statement "LAB_001519af:\n                uVar29 = uVar29 + 1;" statement_identifier : (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ;)) (expression_statement "lVar26 = lVar26 + 0x28;" (assignment_expression "lVar26 = lVar26 + 0x28" identifier = (binary_expression "lVar26 + 0x28" identifier + number_literal)) ;) (if_statement "if (uVar18 == uVar29) break;" if (parenthesized_expression "(uVar18 == uVar29)" ( (binary_expression "uVar18 == uVar29" identifier == identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_001519c1;" goto statement_identifier ;) })) (expression_statement "local_a0 = uVar21 + uVar25;" (assignment_expression "local_a0 = uVar21 + uVar25" identifier = (binary_expression "uVar21 + uVar25" identifier + identifier)) ;) (expression_statement "local_a8 = uVar25;" (assignment_expression "local_a8 = uVar25" identifier = identifier) ;) (labeled_statement "joined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;" statement_identifier : (if_statement "if (DAT_002b5adc == 0) goto LAB_001519af;" if (parenthesized_expression "(DAT_002b5adc == 0)" ( (binary_expression "DAT_002b5adc == 0" identifier == number_literal) )) (goto_statement "goto LAB_001519af;" goto statement_identifier ;))) (labeled_statement "LAB_00151a71:\n              uVar29 = uVar29 + 1;" statement_identifier : (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ;)) (expression_statement "lVar26 = lVar26 + 0x28;" (assignment_expression "lVar26 = lVar26 + 0x28" identifier = (binary_expression "lVar26 + 0x28" identifier + number_literal)) ;) (expression_statement "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);" (call_expression "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12)" identifier (argument_list "("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12)" ( (string_literal ""%s %s: 0x%08lx-0x%08lx (0x%08lx)\n"" " string_content escape_sequence ") , (string_literal ""pep_implied_import_dll"" " string_content ") , identifier , identifier , (binary_expression "uVar21 + uVar25" identifier + identifier) , (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) while (parenthesized_expression "(uVar18 != uVar29)" ( (binary_expression "uVar18 != uVar29" identifier != identifier) )) ;)) }))) (expression_statement "lVar26 = xmalloc(local_88);" (assignment_expression "lVar26 = xmalloc(local_88)" identifier = (call_expression "xmalloc(local_88)" identifier (argument_list "(local_88)" ( identifier )))) ;) (expression_statement "bfd_seek(lVar15,local_68,0);" (call_expression "bfd_seek(lVar15,local_68,0)" identifier (argument_list "(lVar15,local_68,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(lVar26,local_88,lVar15);" (call_expression "bfd_bread(lVar26,local_88,lVar15)" identifier (argument_list "(lVar26,local_88,lVar15)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar16 = lVar26 - uVar16;" (assignment_expression "uVar16 = lVar26 - uVar16" identifier = (binary_expression "lVar26 - uVar16" identifier - identifier)) ;) (if_statement "if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }" if (parenthesized_expression "(DAT_002b5af8 == 0)" ( (binary_expression "DAT_002b5af8 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_002b5af8 = FUN_0014aee0();\n          }" { (expression_statement "DAT_002b5af8 = FUN_0014aee0();" (assignment_expression "DAT_002b5af8 = FUN_0014aee0()" identifier = (call_expression "FUN_0014aee0()" identifier (argument_list "()" ( )))) ;) })) (expression_statement "bVar1 = *(byte *)(lVar26 + 0x21);" (assignment_expression "bVar1 = *(byte *)(lVar26 + 0x21)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x21)" * (cast_expression "(byte *)(lVar26 + 0x21)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x21)" ( (binary_expression "lVar26 + 0x21" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = *(byte *)(lVar26 + 0x18);" (assignment_expression "bVar2 = *(byte *)(lVar26 + 0x18)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x18)" * (cast_expression "(byte *)(lVar26 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x18)" ( (binary_expression "lVar26 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "bVar3 = *(byte *)(lVar26 + 0x19);" (assignment_expression "bVar3 = *(byte *)(lVar26 + 0x19)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x19)" * (cast_expression "(byte *)(lVar26 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x19)" ( (binary_expression "lVar26 + 0x19" identifier + number_literal) ))))) ;) (expression_statement "bVar4 = *(byte *)(lVar26 + 0x22);" (assignment_expression "bVar4 = *(byte *)(lVar26 + 0x22)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x22)" * (cast_expression "(byte *)(lVar26 + 0x22)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x22)" ( (binary_expression "lVar26 + 0x22" identifier + number_literal) ))))) ;) (expression_statement "bVar5 = *(byte *)(lVar26 + 0x1a);" (assignment_expression "bVar5 = *(byte *)(lVar26 + 0x1a)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x1a)" * (cast_expression "(byte *)(lVar26 + 0x1a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1a)" ( (binary_expression "lVar26 + 0x1a" identifier + number_literal) ))))) ;) (expression_statement "bVar6 = *(byte *)(lVar26 + 0x1b);" (assignment_expression "bVar6 = *(byte *)(lVar26 + 0x1b)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x1b)" * (cast_expression "(byte *)(lVar26 + 0x1b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1b)" ( (binary_expression "lVar26 + 0x1b" identifier + number_literal) ))))) ;) (expression_statement "bVar7 = *(byte *)(lVar26 + 0x20);" (assignment_expression "bVar7 = *(byte *)(lVar26 + 0x20)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x20)" * (cast_expression "(byte *)(lVar26 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x20)" ( (binary_expression "lVar26 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_4c = (uint)*(byte *)(lVar26 + 0x23);" (assignment_expression "local_4c = (uint)*(byte *)(lVar26 + 0x23)" identifier = (binary_expression "(uint)*(byte *)(lVar26 + 0x23)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0x23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x23)" ( (binary_expression "lVar26 + 0x23" identifier + number_literal) ))))) ;) (expression_statement "bVar8 = *(byte *)(lVar26 + 0x1c);" (assignment_expression "bVar8 = *(byte *)(lVar26 + 0x1c)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x1c)" * (cast_expression "(byte *)(lVar26 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1c)" ( (binary_expression "lVar26 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "bVar9 = *(byte *)(lVar26 + 0x1d);" (assignment_expression "bVar9 = *(byte *)(lVar26 + 0x1d)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x1d)" * (cast_expression "(byte *)(lVar26 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1d)" ( (binary_expression "lVar26 + 0x1d" identifier + number_literal) ))))) ;) (expression_statement "bVar10 = *(byte *)(lVar26 + 0x1e);" (assignment_expression "bVar10 = *(byte *)(lVar26 + 0x1e)" identifier = (pointer_expression "*(byte *)(lVar26 + 0x1e)" * (cast_expression "(byte *)(lVar26 + 0x1e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1e)" ( (binary_expression "lVar26 + 0x1e" identifier + number_literal) ))))) ;) (expression_statement "local_5c = (uint)*(byte *)(lVar26 + 0x1f);" (assignment_expression "local_5c = (uint)*(byte *)(lVar26 + 0x1f)" identifier = (binary_expression "(uint)*(byte *)(lVar26 + 0x1f)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x1f)" ( (binary_expression "lVar26 + 0x1f" identifier + number_literal) ))))) ;) (expression_statement "lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;" (assignment_expression "lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16" identifier = (binary_expression "((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16" (parenthesized_expression "((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000)" ( (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000" (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100" (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc)" (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000" (binary_expression "(uint)*(byte *)(lVar26 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0xe)" ( (binary_expression "lVar26 + 0xe" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)(lVar26 + 0xc)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0xc)" ( (binary_expression "lVar26 + 0xc" identifier + number_literal) ))))) + (binary_expression "(uint)*(byte *)(lVar26 + 0xd) * 0x100" (binary_expression "(uint)*(byte *)(lVar26 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0xd)" ( (binary_expression "lVar26 + 0xd" identifier + number_literal) )))) * number_literal)) + (binary_expression "(uint)*(byte *)(lVar26 + 0xf) * 0x1000000" (binary_expression "(uint)*(byte *)(lVar26 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(lVar26 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0xf)" ( (binary_expression "lVar26 + 0xf" identifier + number_literal) )))) * number_literal)) )) + identifier)) ;) (expression_statement "lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);" (assignment_expression "lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15)" identifier = (call_expression "FUN_0014b4e0(DAT_002b5af8,lVar15)" identifier (argument_list "(DAT_002b5af8,lVar15)" ( identifier , identifier )))) ;) (if_statement "if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }" if (parenthesized_expression "(lVar26 == 0)" ( (binary_expression "lVar26 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }" { (expression_statement "uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;" (assignment_expression "uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000" identifier = (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000" (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000" (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "(uint)bVar3 * 0x100" (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "(uint)bVar5 * 0x10000" (cast_expression "(uint)bVar5" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "(uint)bVar6 * 0x1000000" (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal))) ;) (expression_statement "uVar18 = (ulong)uVar12;" (assignment_expression "uVar18 = (ulong)uVar12" identifier = (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);" (assignment_expression "uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" identifier = (call_expression "(ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" ( (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7" (binary_expression "(uint)bVar4 * 0x10000" (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)bVar1 * 0x100" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "local_4c * 0x1000000" identifier * number_literal)) )))) ;) (expression_statement "pbVar19 = (byte *)(uVar16 + uVar21);" (assignment_expression "pbVar19 = (byte *)(uVar16 + uVar21)" identifier = (cast_expression "(byte *)(uVar16 + uVar21)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 + uVar21)" ( (binary_expression "uVar16 + uVar21" identifier + identifier) )))) ;) (expression_statement "uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);" (assignment_expression "uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" identifier = (call_expression "(ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" ( (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000" (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100" (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8" (binary_expression "(uint)bVar10 * 0x10000" (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)bVar9 * 0x100" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "local_5c * 0x1000000" identifier * number_literal)) )))) ;) (expression_statement "iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);" (assignment_expression "iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0)" identifier = (call_expression "FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0)" identifier (argument_list "(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0)" ( identifier , identifier , (binary_expression "((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16" (parenthesized_expression "((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100)" ( (binary_expression "(uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100" (binary_expression "(uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19" (binary_expression "(uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000" (binary_expression "(uint)pbVar19[3] * 0x1000000" (cast_expression "(uint)pbVar19[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[3]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)pbVar19[2] * 0x10000" (cast_expression "(uint)pbVar19[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[2]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar19[1] * 0x100" (cast_expression "(uint)pbVar19[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[1]" identifier [ number_literal ])) * number_literal)) )) + identifier) , identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (if_statement "if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }" { (do_statement "do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);" do (compound_statement "{\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                }" { (expression_statement "lVar26 = 5;" (assignment_expression "lVar26 = 5" identifier = number_literal) ;) (expression_statement "uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);" (assignment_expression "uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" identifier = (call_expression "(ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" ( (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19" (binary_expression "(uint)pbVar19[2] * 0x10000" (cast_expression "(uint)pbVar19[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[2]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar19[1] * 0x100" (cast_expression "(uint)pbVar19[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[1]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)pbVar19[3] * 0x1000000" (cast_expression "(uint)pbVar19[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[3]" identifier [ number_literal ])) * number_literal)) )))) ;) (expression_statement "bVar31 = CARRY8(uVar27,uVar16);" (assignment_expression "bVar31 = CARRY8(uVar27,uVar16)" identifier = (call_expression "CARRY8(uVar27,uVar16)" identifier (argument_list "(uVar27,uVar16)" ( identifier , identifier )))) ;) (expression_statement "pbVar28 = (byte *)(uVar27 + uVar16);" (assignment_expression "pbVar28 = (byte *)(uVar27 + uVar16)" identifier = (cast_expression "(byte *)(uVar27 + uVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar27 + uVar16)" ( (binary_expression "uVar27 + uVar16" identifier + identifier) )))) ;) (expression_statement "bVar34 = pbVar28 == (byte *)0x0;" (assignment_expression "bVar34 = pbVar28 == (byte *)0x0" identifier = (binary_expression "pbVar28 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar22 = pbVar28;" (assignment_expression "pbVar22 = pbVar28" identifier = identifier) ;) (expression_statement "pbVar24 = (byte *)"__nm_";" (assignment_expression "pbVar24 = (byte *)"__nm_"" identifier = (cast_expression "(byte *)"__nm_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__nm_"" " string_content "))) ;) (do_statement "do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);" do (compound_statement "{\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  }" { (if_statement "if (lVar26 == 0) break;" if (parenthesized_expression "(lVar26 == 0)" ( (binary_expression "lVar26 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar26 = lVar26 + -1;" (assignment_expression "lVar26 = lVar26 + -1" identifier = (binary_expression "lVar26 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar22 < *pbVar24;" (assignment_expression "bVar31 = *pbVar22 < *pbVar24" identifier = (binary_expression "*pbVar22 < *pbVar24" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar34 = *pbVar22 == *pbVar24;" (assignment_expression "bVar34 = *pbVar22 == *pbVar24" identifier = (binary_expression "*pbVar22 == *pbVar24" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar35 * -2" identifier + (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (if_statement "if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }" if (parenthesized_expression "((!bVar31 && !bVar34) != bVar31)" ( (binary_expression "(!bVar31 && !bVar34) != bVar31" (parenthesized_expression "(!bVar31 && !bVar34)" ( (binary_expression "!bVar31 && !bVar34" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) != identifier) )) (compound_statement "{\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }" { (expression_statement "local_44[0] = 0;" (assignment_expression "local_44[0] = 0" (subscript_expression "local_44[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);" (assignment_expression "uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000)" identifier = (call_expression "(ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000)" ( (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000" (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100" (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21]" (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000" (cast_expression "(uint)pbVar19[uVar29 + (2 - uVar21)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[uVar29 + (2 - uVar21)]" identifier [ (binary_expression "uVar29 + (2 - uVar21)" identifier + (parenthesized_expression "(2 - uVar21)" ( (binary_expression "2 - uVar21" number_literal - identifier) ))) ])) * number_literal) + (cast_expression "(uint)pbVar19[uVar29 - uVar21]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[uVar29 - uVar21]" identifier [ (binary_expression "uVar29 - uVar21" identifier - identifier) ]))) + (binary_expression "(uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100" (cast_expression "(uint)pbVar19[uVar29 + (1 - uVar21)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[uVar29 + (1 - uVar21)]" identifier [ (binary_expression "uVar29 + (1 - uVar21)" identifier + (parenthesized_expression "(1 - uVar21)" ( (binary_expression "1 - uVar21" number_literal - identifier) ))) ])) * number_literal)) + (binary_expression "(uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000" (cast_expression "(uint)pbVar19[uVar29 + (3 - uVar21)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[uVar29 + (3 - uVar21)]" identifier [ (binary_expression "uVar29 + (3 - uVar21)" identifier + (parenthesized_expression "(3 - uVar21)" ( (binary_expression "3 - uVar21" number_literal - identifier) ))) ])) * number_literal)) )))) ;) (if_statement "if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }" if (parenthesized_expression "(((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27))))" ( (binary_expression "((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))" (parenthesized_expression "((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27))" ( (binary_expression "(uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)" (parenthesized_expression "(uVar27 < local_a8)" ( (binary_expression "uVar27 < local_a8" identifier < identifier) )) || (parenthesized_expression "(uVar12 = 1, local_a0 <= uVar27)" ( (comma_expression "uVar12 = 1, local_a0 <= uVar27" (assignment_expression "uVar12 = 1" identifier = number_literal) , (binary_expression "local_a0 <= uVar27" identifier <= identifier)) ))) )) && (parenthesized_expression "((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))" ( (parenthesized_expression "(uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27))" ( (binary_expression "uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)" (binary_expression "uVar27 < local_98" identifier < identifier) || (parenthesized_expression "(uVar12 = 1, local_90 <= uVar27)" ( (comma_expression "uVar12 = 1, local_90 <= uVar27" (assignment_expression "uVar12 = 1" identifier = number_literal) , (binary_expression "local_90 <= uVar27" identifier <= identifier)) ))) )) ))) )) (compound_statement "{\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }" { (expression_statement "uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);" (assignment_expression "uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27)" identifier = (call_expression "(uint)(uVar27 < local_78 && local_80 <= uVar27)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar27 < local_78 && local_80 <= uVar27)" ( (binary_expression "uVar27 < local_78 && local_80 <= uVar27" (binary_expression "uVar27 < local_78" identifier < identifier) && (binary_expression "local_80 <= uVar27" identifier <= identifier)) )))) ;) })) (expression_statement "lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);" (assignment_expression "lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44)" identifier = (call_expression "FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44)" identifier (argument_list "(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44)" ( identifier , identifier , identifier , (binary_expression "uVar25 & 0xffffffff" identifier & number_literal) , number_literal , number_literal , identifier )))) ;) (if_statement "if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }" if (parenthesized_expression "(local_44[0] == 0)" ( (binary_expression "local_44[0] == 0" (subscript_expression "local_44[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }" { (expression_statement "*(uint *)(lVar26 + 0x24) = uVar12;" (assignment_expression "*(uint *)(lVar26 + 0x24) = uVar12" (pointer_expression "*(uint *)(lVar26 + 0x24)" * (cast_expression "(uint *)(lVar26 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar26 + 0x24)" ( (binary_expression "lVar26 + 0x24" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }" if (parenthesized_expression "(DAT_002b5adc != 0)" ( (binary_expression "DAT_002b5adc != 0" identifier != number_literal) )) (compound_statement "{\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }" { (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pep_implied_import_dll"" " string_content ") , identifier , identifier ))) ;) })) })) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" identifier = (binary_expression "uVar25 + 1" identifier + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + 4;" (assignment_expression "pbVar19 = pbVar19 + 4" identifier = (binary_expression "pbVar19 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 != uVar25)" ( (binary_expression "uVar18 != uVar25" identifier != identifier) )) ;) })) }) (else_clause "else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" else (if_statement "if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" { (expression_statement "pbVar22 = (byte *)(uVar29 + uVar16);" (assignment_expression "pbVar22 = (byte *)(uVar29 + uVar16)" identifier = (cast_expression "(byte *)(uVar29 + uVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar29 + uVar16)" ( (binary_expression "uVar29 + uVar16" identifier + identifier) )))) ;) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (do_statement "do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);" do (compound_statement "{\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              }" { (expression_statement "uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);" (assignment_expression "uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" identifier = (call_expression "(ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" ( (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000" (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100" (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22" (binary_expression "(uint)pbVar22[2] * 0x10000" (cast_expression "(uint)pbVar22[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar22[2]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)*pbVar22" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar22[1] * 0x100" (cast_expression "(uint)pbVar22[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar22[1]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)pbVar22[3] * 0x1000000" (cast_expression "(uint)pbVar22[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar22[3]" identifier [ number_literal ])) * number_literal)) )))) ;) (expression_statement "iVar23 = iVar11 + (int)uVar29;" (assignment_expression "iVar23 = iVar11 + (int)uVar29" identifier = (binary_expression "iVar11 + (int)uVar29" identifier + (cast_expression "(int)uVar29" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);" (assignment_expression "lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" identifier = (binary_expression "uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" identifier + (parenthesized_expression "((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" ( (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19" (binary_expression "(uint)pbVar19[2] * 0x10000" (cast_expression "(uint)pbVar19[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[2]" identifier [ number_literal ])) * number_literal) + (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)pbVar19[1] * 0x100" (cast_expression "(uint)pbVar19[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[1]" identifier [ number_literal ])) * number_literal)) + (binary_expression "(uint)pbVar19[3] * 0x1000000" (cast_expression "(uint)pbVar19[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar19[3]" identifier [ number_literal ])) * number_literal)) )))) ;) (if_statement "if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }" if (parenthesized_expression "((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21))))" ( (binary_expression "(((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))" (parenthesized_expression "(((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21))))" ( (binary_expression "((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))" (parenthesized_expression "((uVar21 < local_a8) || (local_a0 <= uVar21))" ( (binary_expression "(uVar21 < local_a8) || (local_a0 <= uVar21)" (parenthesized_expression "(uVar21 < local_a8)" ( (binary_expression "uVar21 < local_a8" identifier < identifier) )) || (parenthesized_expression "(local_a0 <= uVar21)" ( (binary_expression "local_a0 <= uVar21" identifier <= identifier) ))) )) && (parenthesized_expression "((uVar21 < local_98 || (local_90 <= uVar21)))" ( (parenthesized_expression "(uVar21 < local_98 || (local_90 <= uVar21))" ( (binary_expression "uVar21 < local_98 || (local_90 <= uVar21)" (binary_expression "uVar21 < local_98" identifier < identifier) || (parenthesized_expression "(local_90 <= uVar21)" ( (binary_expression "local_90 <= uVar21" identifier <= identifier) ))) )) ))) )) && (parenthesized_expression "((uVar21 < local_80 || (local_78 <= uVar21)))" ( (parenthesized_expression "(uVar21 < local_80 || (local_78 <= uVar21))" ( (binary_expression "uVar21 < local_80 || (local_78 <= uVar21)" (binary_expression "uVar21 < local_80" identifier < identifier) || (parenthesized_expression "(local_78 <= uVar21)" ( (binary_expression "local_78 <= uVar21" identifier <= identifier) ))) )) ))) )) (compound_statement "{\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }" { (expression_statement "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);" (assignment_expression "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" identifier = (call_expression "FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" identifier (argument_list "(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" ( identifier , identifier , identifier , identifier , (binary_expression "uVar29 & 0xffffffff" identifier & number_literal) , number_literal , number_literal )))) ;) (expression_statement "iVar23 = DAT_002b5adc;" (assignment_expression "iVar23 = DAT_002b5adc" identifier = identifier) ;) (expression_statement "*(undefined4 *)(lVar20 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(lVar20 + 0x24) = 0" (pointer_expression "*(undefined4 *)(lVar20 + 0x24)" * (cast_expression "(undefined4 *)(lVar20 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar20 + 0x24)" ( (binary_expression "lVar20 + 0x24" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }" else (compound_statement "{\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }" { (expression_statement "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);" (assignment_expression "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" identifier = (call_expression "FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" identifier (argument_list "(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" ( identifier , identifier , identifier , identifier , (binary_expression "uVar29 & 0xffffffff" identifier & number_literal) , number_literal , number_literal )))) ;) (expression_statement "iVar23 = DAT_002b5adc;" (assignment_expression "iVar23 = DAT_002b5adc" identifier = identifier) ;) (expression_statement "*(undefined4 *)(lVar20 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(lVar20 + 0x24) = 1" (pointer_expression "*(undefined4 *)(lVar20 + 0x24)" * (cast_expression "(undefined4 *)(lVar20 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar20 + 0x24)" ( (binary_expression "lVar20 + 0x24" identifier + number_literal) )))) = number_literal) ;) }))) (if_statement "if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }" { (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pep_implied_import_dll"" " string_content ") , identifier , identifier , identifier ))) ;) })) (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + 4;" (assignment_expression "pbVar19 = pbVar19 + 4" identifier = (binary_expression "pbVar19 + 4" identifier + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + 4;" (assignment_expression "pbVar22 = pbVar22 + 4" identifier = (binary_expression "pbVar22 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 != uVar29)" ( (binary_expression "uVar18 != uVar29" identifier != identifier) )) ;) })))) }) (else_clause "else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }" else (if_statement "if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }" if (parenthesized_expression "(DAT_002b5adc != 0)" ( (binary_expression "DAT_002b5adc != 0" identifier != number_literal) )) (compound_statement "{\n            printf("%s is already loaded\n",lVar15);\n          }" { (expression_statement "printf("%s is already loaded\n",lVar15);" (call_expression "printf("%s is already loaded\n",lVar15)" identifier (argument_list "("%s is already loaded\n",lVar15)" ( (string_literal ""%s is already loaded\n"" " string_content escape_sequence ") , identifier ))) ;) })))) (return_statement "return 1;" return number_literal ;) })) })) }))) }))) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE 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 (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_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) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + IDENT)) , (binary_expression IDENT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT)) && (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) == (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + IDENT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT , IDENT , (binary_expression IDENT + IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) })) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ))))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ))))) ;) (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 (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ))))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) )) + IDENT) , IDENT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT - IDENT) ))) ])) * LIT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression IDENT - IDENT) ]))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT - IDENT) ))) ])) * LIT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT - IDENT) ))) ])) * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT <= IDENT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT <= IDENT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT < IDENT) && (binary_expression IDENT <= IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (binary_expression IDENT & LIT) , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (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 (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT , IDENT ))) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT & LIT) , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT & LIT) , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_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 IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;) })))) (return_statement return LIT ;) })) })) }))) }))) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_001517d0(undefined8 param_1)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  long lVar15;\n  ulong uVar16;\n  undefined8 uVar17;\n  ulong uVar18;\n  byte *pbVar19;\n  long lVar20;\n  ulong uVar21;\n  byte *pbVar22;\n  int iVar23;\n  byte *pbVar24;\n  ulong uVar25;\n  long lVar26;\n  ulong uVar27;\n  byte *pbVar28;\n  ulong uVar29;\n  undefined1 uVar30;\n  bool bVar31;\n  bool bVar32;\n  undefined1 uVar33;\n  bool bVar34;\n  byte bVar35;\n  ulong local_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong local_90;\n  ulong local_88;\n  ulong local_80;\n  ulong local_78;\n  long local_68;\n  uint local_5c;\n  uint local_4c;\n  int local_44 [2];\n  undefined1 local_3c;\n  \n  bVar35 = 0;\n  lVar15 = bfd_openr(param_1,*DAT_002b5b90);\n  if (lVar15 == 0) {\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }\n  else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "FUN_001517d0(undefined8 param_1)" (identifier "FUN_001517d0") (parameter_list "(undefined8 param_1)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) () ")"))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  long lVar15;\n  ulong uVar16;\n  undefined8 uVar17;\n  ulong uVar18;\n  byte *pbVar19;\n  long lVar20;\n  ulong uVar21;\n  byte *pbVar22;\n  int iVar23;\n  byte *pbVar24;\n  ulong uVar25;\n  long lVar26;\n  ulong uVar27;\n  byte *pbVar28;\n  ulong uVar29;\n  undefined1 uVar30;\n  bool bVar31;\n  bool bVar32;\n  undefined1 uVar33;\n  bool bVar34;\n  byte bVar35;\n  ulong local_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong local_90;\n  ulong local_88;\n  ulong local_80;\n  ulong local_78;\n  long local_68;\n  uint local_5c;\n  uint local_4c;\n  int local_44 [2];\n  undefined1 local_3c;\n  \n  bVar35 = 0;\n  lVar15 = bfd_openr(param_1,*DAT_002b5b90);\n  if (lVar15 == 0) {\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }\n  else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }\n  return 0;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "byte bVar5;" (type_identifier "byte") (identifier "bVar5") (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (declaration "byte bVar7;" (type_identifier "byte") (identifier "bVar7") (; ";")) (declaration "byte bVar8;" (type_identifier "byte") (identifier "bVar8") (; ";")) (declaration "byte bVar9;" (type_identifier "byte") (identifier "bVar9") (; ";")) (declaration "byte bVar10;" (type_identifier "byte") (identifier "bVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "long lVar15;" (sized_type_specifier "long" (long "long")) (identifier "lVar15") (; ";")) (declaration "ulong uVar16;" (type_identifier "ulong") (identifier "uVar16") (; ";")) (declaration "undefined8 uVar17;" (type_identifier "undefined8") (identifier "uVar17") (; ";")) (declaration "ulong uVar18;" (type_identifier "ulong") (identifier "uVar18") (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "long lVar20;" (sized_type_specifier "long" (long "long")) (identifier "lVar20") (; ";")) (declaration "ulong uVar21;" (type_identifier "ulong") (identifier "uVar21") (; ";")) (declaration "byte *pbVar22;" (type_identifier "byte") (pointer_declarator "*pbVar22" (* "*") (identifier "pbVar22")) (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "byte *pbVar24;" (type_identifier "byte") (pointer_declarator "*pbVar24" (* "*") (identifier "pbVar24")) (; ";")) (declaration "ulong uVar25;" (type_identifier "ulong") (identifier "uVar25") (; ";")) (declaration "long lVar26;" (sized_type_specifier "long" (long "long")) (identifier "lVar26") (; ";")) (declaration "ulong uVar27;" (type_identifier "ulong") (identifier "uVar27") (; ";")) (declaration "byte *pbVar28;" (type_identifier "byte") (pointer_declarator "*pbVar28" (* "*") (identifier "pbVar28")) (; ";")) (declaration "ulong uVar29;" (type_identifier "ulong") (identifier "uVar29") (; ";")) (declaration "undefined1 uVar30;" (type_identifier "undefined1") (identifier "uVar30") (; ";")) (declaration "bool bVar31;" (primitive_type "bool") (identifier "bVar31") (; ";")) (declaration "bool bVar32;" (primitive_type "bool") (identifier "bVar32") (; ";")) (declaration "undefined1 uVar33;" (type_identifier "undefined1") (identifier "uVar33") (; ";")) (declaration "bool bVar34;" (primitive_type "bool") (identifier "bVar34") (; ";")) (declaration "byte bVar35;" (type_identifier "byte") (identifier "bVar35") (; ";")) (declaration "ulong local_a8;" (type_identifier "ulong") (identifier "local_a8") (; ";")) (declaration "ulong local_a0;" (type_identifier "ulong") (identifier "local_a0") (; ";")) (declaration "ulong local_98;" (type_identifier "ulong") (identifier "local_98") (; ";")) (declaration "ulong local_90;" (type_identifier "ulong") (identifier "local_90") (; ";")) (declaration "ulong local_88;" (type_identifier "ulong") (identifier "local_88") (; ";")) (declaration "ulong local_80;" (type_identifier "ulong") (identifier "local_80") (; ";")) (declaration "ulong local_78;" (type_identifier "ulong") (identifier "local_78") (; ";")) (declaration "long local_68;" (sized_type_specifier "long" (long "long")) (identifier "local_68") (; ";")) (declaration "uint local_5c;" (type_identifier "uint") (identifier "local_5c") (; ";")) (declaration "uint local_4c;" (type_identifier "uint") (identifier "local_4c") (; ";")) (declaration "int local_44 [2];" (primitive_type "int") (array_declarator "local_44 [2]" (identifier "local_44") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined1 local_3c;" (type_identifier "undefined1") (identifier "local_3c") (; ";")) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" (identifier "bVar35") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar15 = bfd_openr(param_1,*DAT_002b5b90);" (assignment_expression "lVar15 = bfd_openr(param_1,*DAT_002b5b90)" (identifier "lVar15") (= "=") (call_expression "bfd_openr(param_1,*DAT_002b5b90)" (identifier "bfd_openr") (argument_list "(param_1,*DAT_002b5b90)" (( "(") (identifier "param_1") (, ",") (pointer_expression "*DAT_002b5b90" (* "*") (identifier "DAT_002b5b90")) () ")")))) (; ";")) (if_statement "if (lVar15 == 0) {\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }\n  else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00129380(uVar17,param_1);\n  }" ({ "{") (expression_statement "uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);" (assignment_expression "uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5)" (identifier "uVar17") (= "=") (call_expression "dcgettext(0,"%X%P: open %s: %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%X%P: open %s: %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%X%P: open %s: %E\n"" (" """) (string_content "%X%P: open %s: %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00129380(uVar17,param_1);" (call_expression "FUN_00129380(uVar17,param_1)" (identifier "FUN_00129380") (argument_list "(uVar17,param_1)" (( "(") (identifier "uVar17") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }" (else "else") (compound_statement "{\n    iVar11 = bfd_check_format(lVar15,1);\n    if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "iVar11 = bfd_check_format(lVar15,1);" (assignment_expression "iVar11 = bfd_check_format(lVar15,1)" (identifier "iVar11") (= "=") (call_expression "bfd_check_format(lVar15,1)" (identifier "bfd_check_format") (argument_list "(lVar15,1)" (( "(") (identifier "lVar15") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }\n    else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n      FUN_00129380(uVar17,param_1);\n    }" ({ "{") (expression_statement "uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);" (assignment_expression "uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" (identifier "uVar17") (= "=") (call_expression "dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" (identifier "dcgettext") (argument_list "(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%X%P: %s: this doesn\'t appear to be a DLL\n"" (" """) (string_content "%X%P: %s: this doesn") (escape_sequence "\'") (string_content "t appear to be a DLL") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00129380(uVar17,param_1);" (call_expression "FUN_00129380(uVar17,param_1)" (identifier "FUN_00129380") (argument_list "(uVar17,param_1)" (( "(") (identifier "uVar17") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      uVar12 = FUN_0014d170(lVar15,0x3c);\n      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);\n      if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }\n    }" ({ "{") (expression_statement "uVar12 = FUN_0014d170(lVar15,0x3c);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,0x3c)" (identifier "uVar12") (= "=") (call_expression "FUN_0014d170(lVar15,0x3c)" (identifier "FUN_0014d170") (argument_list "(lVar15,0x3c)" (( "(") (identifier "lVar15") (, ",") (number_literal "0x3c") () ")")))) (; ";")) (expression_statement "iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);" (assignment_expression "iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84)" (identifier "iVar11") (= "=") (call_expression "FUN_0014d170(lVar15,uVar12 + 0x84)" (identifier "FUN_0014d170") (argument_list "(lVar15,uVar12 + 0x84)" (( "(") (identifier "lVar15") (, ",") (binary_expression "uVar12 + 0x84" (identifier "uVar12") (+ "+") (number_literal "0x84")) () ")")))) (; ";")) (if_statement "if (iVar11 != 0) {\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);\n        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);\n        local_88 = (ulong)uVar14;\n        if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }\n      }" ({ "{") (expression_statement "uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);" (assignment_expression "uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88)" (identifier "uVar13") (= "=") (call_expression "FUN_0014d170(lVar15,uVar12 + 0x88)" (identifier "FUN_0014d170") (argument_list "(lVar15,uVar12 + 0x88)" (( "(") (identifier "lVar15") (, ",") (binary_expression "uVar12 + 0x88" (identifier "uVar12") (+ "+") (number_literal "0x88")) () ")")))) (; ";")) (expression_statement "uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);" (assignment_expression "uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c)" (identifier "uVar14") (= "=") (call_expression "FUN_0014d170(lVar15,uVar12 + 0x8c)" (identifier "FUN_0014d170") (argument_list "(lVar15,uVar12 + 0x8c)" (( "(") (identifier "lVar15") (, ",") (binary_expression "uVar12 + 0x8c" (identifier "uVar12") (+ "+") (number_literal "0x8c")) () ")")))) (; ";")) (expression_statement "local_88 = (ulong)uVar14;" (assignment_expression "local_88 = (ulong)uVar14" (identifier "local_88") (= "=") (cast_expression "(ulong)uVar14" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar14"))) (; ";")) (if_statement "if (local_88 != 0) {\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }" (if "if") (parenthesized_expression "(local_88 != 0)" (( "(") (binary_expression "local_88 != 0" (identifier "local_88") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar16 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);\n          uVar18 = (ulong)uVar13;\n          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);\n          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;\n          if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }\n          lVar26 = xmalloc(local_88);\n          bfd_seek(lVar15,local_68,0);\n          bfd_bread(lVar26,local_88,lVar15);\n          uVar16 = lVar26 - uVar16;\n          if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }\n          bVar1 = *(byte *)(lVar26 + 0x21);\n          bVar2 = *(byte *)(lVar26 + 0x18);\n          bVar3 = *(byte *)(lVar26 + 0x19);\n          bVar4 = *(byte *)(lVar26 + 0x22);\n          bVar5 = *(byte *)(lVar26 + 0x1a);\n          bVar6 = *(byte *)(lVar26 + 0x1b);\n          bVar7 = *(byte *)(lVar26 + 0x20);\n          local_4c = (uint)*(byte *)(lVar26 + 0x23);\n          bVar8 = *(byte *)(lVar26 + 0x1c);\n          bVar9 = *(byte *)(lVar26 + 0x1d);\n          bVar10 = *(byte *)(lVar26 + 0x1e);\n          local_5c = (uint)*(byte *)(lVar26 + 0x1f);\n          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;\n          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);\n          if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }\n          return 1;\n        }" ({ "{") (expression_statement "uVar16 = (ulong)uVar13;" (assignment_expression "uVar16 = (ulong)uVar13" (identifier "uVar16") (= "=") (cast_expression "(ulong)uVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar13"))) (; ";")) (expression_statement "uVar13 = FUN_0014d130(lVar15,uVar12 + 6);" (assignment_expression "uVar13 = FUN_0014d130(lVar15,uVar12 + 6)" (identifier "uVar13") (= "=") (call_expression "FUN_0014d130(lVar15,uVar12 + 6)" (identifier "FUN_0014d130") (argument_list "(lVar15,uVar12 + 6)" (( "(") (identifier "lVar15") (, ",") (binary_expression "uVar12 + 6" (identifier "uVar12") (+ "+") (number_literal "6")) () ")")))) (; ";")) (expression_statement "uVar18 = (ulong)uVar13;" (assignment_expression "uVar18 = (ulong)uVar13" (identifier "uVar18") (= "=") (cast_expression "(ulong)uVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar13"))) (; ";")) (expression_statement "uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);" (assignment_expression "uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14)" (identifier "uVar13") (= "=") (call_expression "FUN_0014d130(lVar15,uVar12 + 0x14)" (identifier "FUN_0014d130") (argument_list "(lVar15,uVar12 + 0x14)" (( "(") (identifier "lVar15") (, ",") (binary_expression "uVar12 + 0x14" (identifier "uVar12") (+ "+") (number_literal "0x14")) () ")")))) (; ";")) (expression_statement "lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;" (assignment_expression "lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13" (identifier "lVar26") (= "=") (binary_expression "(ulong)uVar12 + 0x18 + (ulong)uVar13" (binary_expression "(ulong)uVar12 + 0x18" (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12")) (+ "+") (number_literal "0x18")) (+ "+") (cast_expression "(ulong)uVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar13")))) (; ";")) (if_statement "if (uVar18 == 0) {\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }\n          else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }" (if "if") (parenthesized_expression "(uVar18 == 0)" (( "(") (binary_expression "uVar18 == 0" (identifier "uVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_78 = 0;\n            local_90 = 0;\n            local_a0 = 0;\n            local_68 = 0;\n            local_80 = 1;\n            local_98 = 1;\n            local_a8 = 1;\n          }" ({ "{") (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" (identifier "local_80") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" (identifier "local_98") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" (identifier "local_a8") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }" (else "else") (compound_statement "{\n            uVar29 = 0;\n            lVar20 = lVar26;\n            do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);\n            local_68 = 0;\nLAB_0015194c:\n            local_78 = 0;\n            uVar29 = 0;\n            local_80 = 1;\n            local_90 = 0;\n            local_98 = 1;\n            local_a0 = 0;\n            local_a8 = 1;\nLAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);\n          }" ({ "{") (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" (identifier "uVar29") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar20 = lVar26;" (assignment_expression "lVar20 = lVar26" (identifier "lVar20") (= "=") (identifier "lVar26")) (; ";")) (do_statement "do {\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            } while (uVar18 != uVar29);" (do "do") (compound_statement "{\n              iVar11 = (int)lVar20;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);\n              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);\n              bfd_seek(lVar15,lVar20,0);\n              bfd_bread(local_44,8,lVar15);\n              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }\n              uVar29 = uVar29 + 1;\n              lVar20 = lVar20 + 0x28;\n            }" ({ "{") (expression_statement "iVar11 = (int)lVar20;" (assignment_expression "iVar11 = (int)lVar20" (identifier "iVar11") (= "=") (cast_expression "(int)lVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar20"))) (; ";")) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc)" (identifier "uVar12") (= "=") (call_expression "FUN_0014d170(lVar15,iVar11 + 0xc)" (identifier "FUN_0014d170") (argument_list "(lVar15,iVar11 + 0xc)" (( "(") (identifier "lVar15") (, ",") (binary_expression "iVar11 + 0xc" (identifier "iVar11") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "uVar21 = (ulong)uVar12;" (assignment_expression "uVar21 = (ulong)uVar12" (identifier "uVar21") (= "=") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12"))) (; ";")) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10)" (identifier "uVar12") (= "=") (call_expression "FUN_0014d170(lVar15,iVar11 + 0x10)" (identifier "FUN_0014d170") (argument_list "(lVar15,iVar11 + 0x10)" (( "(") (identifier "lVar15") (, ",") (binary_expression "iVar11 + 0x10" (identifier "iVar11") (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);" (assignment_expression "uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14)" (identifier "uVar13") (= "=") (call_expression "FUN_0014d170(lVar15,iVar11 + 0x14)" (identifier "FUN_0014d170") (argument_list "(lVar15,iVar11 + 0x14)" (( "(") (identifier "lVar15") (, ",") (binary_expression "iVar11 + 0x14" (identifier "iVar11") (+ "+") (number_literal "0x14")) () ")")))) (; ";")) (expression_statement "bfd_seek(lVar15,lVar20,0);" (call_expression "bfd_seek(lVar15,lVar20,0)" (identifier "bfd_seek") (argument_list "(lVar15,lVar20,0)" (( "(") (identifier "lVar15") (, ",") (identifier "lVar20") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "bfd_bread(local_44,8,lVar15);" (call_expression "bfd_bread(local_44,8,lVar15)" (identifier "bfd_bread") (argument_list "(local_44,8,lVar15)" (( "(") (identifier "local_44") (, ",") (number_literal "8") (, ",") (identifier "lVar15") () ")"))) (; ";")) (if_statement "if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }" (if "if") (parenthesized_expression "((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25))" (( "(") (binary_expression "(uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)" (parenthesized_expression "(uVar21 <= uVar16)" (( "(") (binary_expression "uVar21 <= uVar16" (identifier "uVar21") (<= "<=") (identifier "uVar16")) () ")")) (&& "&&") (parenthesized_expression "(uVar25 = uVar12 + uVar21, uVar16 < uVar25)" (( "(") (comma_expression "uVar25 = uVar12 + uVar21, uVar16 < uVar25" (assignment_expression "uVar25 = uVar12 + uVar21" (identifier "uVar25") (= "=") (binary_expression "uVar12 + uVar21" (identifier "uVar12") (+ "+") (identifier "uVar21"))) (, ",") (binary_expression "uVar16 < uVar25" (identifier "uVar16") (< "<") (identifier "uVar25"))) () ")"))) () ")")) (compound_statement "{\n                uVar29 = uVar25 - uVar16;\n                if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }\n                local_68 = (uVar13 - uVar21) + uVar16;\n                local_88 = uVar29;\n                goto LAB_0015194c;\n              }" ({ "{") (expression_statement "uVar29 = uVar25 - uVar16;" (assignment_expression "uVar29 = uVar25 - uVar16" (identifier "uVar29") (= "=") (binary_expression "uVar25 - uVar16" (identifier "uVar25") (- "-") (identifier "uVar16"))) (; ";")) (if_statement "if (uVar16 + local_88 <= uVar25) {\n                  uVar29 = local_88;\n                }" (if "if") (parenthesized_expression "(uVar16 + local_88 <= uVar25)" (( "(") (binary_expression "uVar16 + local_88 <= uVar25" (binary_expression "uVar16 + local_88" (identifier "uVar16") (+ "+") (identifier "local_88")) (<= "<=") (identifier "uVar25")) () ")")) (compound_statement "{\n                  uVar29 = local_88;\n                }" ({ "{") (expression_statement "uVar29 = local_88;" (assignment_expression "uVar29 = local_88" (identifier "uVar29") (= "=") (identifier "local_88")) (; ";")) (} "}"))) (expression_statement "local_68 = (uVar13 - uVar21) + uVar16;" (assignment_expression "local_68 = (uVar13 - uVar21) + uVar16" (identifier "local_68") (= "=") (binary_expression "(uVar13 - uVar21) + uVar16" (parenthesized_expression "(uVar13 - uVar21)" (( "(") (binary_expression "uVar13 - uVar21" (identifier "uVar13") (- "-") (identifier "uVar21")) () ")")) (+ "+") (identifier "uVar16"))) (; ";")) (expression_statement "local_88 = uVar29;" (assignment_expression "local_88 = uVar29" (identifier "local_88") (= "=") (identifier "uVar29")) (; ";")) (goto_statement "goto LAB_0015194c;" (goto "goto") (statement_identifier "LAB_0015194c") (; ";")) (} "}"))) (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" (identifier "uVar29") (= "=") (binary_expression "uVar29 + 1" (identifier "uVar29") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "lVar20 = lVar20 + 0x28;" (assignment_expression "lVar20 = lVar20 + 0x28" (identifier "lVar20") (= "=") (binary_expression "lVar20 + 0x28" (identifier "lVar20") (+ "+") (number_literal "0x28"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar18 != uVar29)" (( "(") (binary_expression "uVar18 != uVar29" (identifier "uVar18") (!= "!=") (identifier "uVar29")) () ")")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0015194c:\n            local_78 = 0;" (statement_identifier "LAB_0015194c") (: ":") (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" (identifier "uVar29") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" (identifier "local_80") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" (identifier "local_98") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" (identifier "local_a8") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_001519c1:\n            do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);" (statement_identifier "LAB_001519c1") (: ":") (do_statement "do {\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            } while (uVar18 != uVar29);" (do "do") (compound_statement "{\n              iVar11 = (int)lVar26;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);\n              uVar21 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);\n              uVar25 = (ulong)uVar12;\n              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);\n              uVar30 = 0;\n              uVar33 = 1;\n              local_3c = 0;\n              bfd_seek(lVar15,lVar26);\n              bfd_bread(local_44,8,lVar15);\n              lVar20 = 6;\n              pbVar19 = (byte *)local_44;\n              pbVar22 = (byte *)0x19f8a8;\n              do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);\n              bVar31 = false;\n              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;\n              if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }\n              local_a0 = uVar21 + uVar25;\n              local_a8 = uVar25;\njoined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;\nLAB_00151a71:\n              uVar29 = uVar29 + 1;\n              lVar26 = lVar26 + 0x28;\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);\n            }" ({ "{") (expression_statement "iVar11 = (int)lVar26;" (assignment_expression "iVar11 = (int)lVar26" (identifier "iVar11") (= "=") (cast_expression "(int)lVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar26"))) (; ";")) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 8);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 8)" (identifier "uVar12") (= "=") (call_expression "FUN_0014d170(lVar15,iVar11 + 8)" (identifier "FUN_0014d170") (argument_list "(lVar15,iVar11 + 8)" (( "(") (identifier "lVar15") (, ",") (binary_expression "iVar11 + 8" (identifier "iVar11") (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "uVar21 = (ulong)uVar12;" (assignment_expression "uVar21 = (ulong)uVar12" (identifier "uVar21") (= "=") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12"))) (; ";")) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc)" (identifier "uVar12") (= "=") (call_expression "FUN_0014d170(lVar15,iVar11 + 0xc)" (identifier "FUN_0014d170") (argument_list "(lVar15,iVar11 + 0xc)" (( "(") (identifier "lVar15") (, ",") (binary_expression "iVar11 + 0xc" (identifier "iVar11") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "uVar25 = (ulong)uVar12;" (assignment_expression "uVar25 = (ulong)uVar12" (identifier "uVar25") (= "=") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12"))) (; ";")) (expression_statement "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);" (assignment_expression "uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24)" (identifier "uVar12") (= "=") (call_expression "FUN_0014d170(lVar15,iVar11 + 0x24)" (identifier "FUN_0014d170") (argument_list "(lVar15,iVar11 + 0x24)" (( "(") (identifier "lVar15") (, ",") (binary_expression "iVar11 + 0x24" (identifier "iVar11") (+ "+") (number_literal "0x24")) () ")")))) (; ";")) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" (identifier "uVar30") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar33 = 1;" (assignment_expression "uVar33 = 1" (identifier "uVar33") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "bfd_seek(lVar15,lVar26);" (call_expression "bfd_seek(lVar15,lVar26)" (identifier "bfd_seek") (argument_list "(lVar15,lVar26)" (( "(") (identifier "lVar15") (, ",") (identifier "lVar26") () ")"))) (; ";")) (expression_statement "bfd_bread(local_44,8,lVar15);" (call_expression "bfd_bread(local_44,8,lVar15)" (identifier "bfd_bread") (argument_list "(local_44,8,lVar15)" (( "(") (identifier "local_44") (, ",") (number_literal "8") (, ",") (identifier "lVar15") () ")"))) (; ";")) (expression_statement "lVar20 = 6;" (assignment_expression "lVar20 = 6" (identifier "lVar20") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar19 = (byte *)local_44;" (assignment_expression "pbVar19 = (byte *)local_44" (identifier "pbVar19") (= "=") (cast_expression "(byte *)local_44" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_44"))) (; ";")) (expression_statement "pbVar22 = (byte *)0x19f8a8;" (assignment_expression "pbVar22 = (byte *)0x19f8a8" (identifier "pbVar22") (= "=") (cast_expression "(byte *)0x19f8a8" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x19f8a8"))) (; ";")) (do_statement "do {\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              } while ((bool)uVar33);" (do "do") (compound_statement "{\n                if (lVar20 == 0) break;\n                lVar20 = lVar20 + -1;\n                uVar30 = *pbVar19 < *pbVar22;\n                uVar33 = *pbVar19 == *pbVar22;\n                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar20 == 0) break;" (if "if") (parenthesized_expression "(lVar20 == 0)" (( "(") (binary_expression "lVar20 == 0" (identifier "lVar20") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar20 = lVar20 + -1;" (assignment_expression "lVar20 = lVar20 + -1" (identifier "lVar20") (= "=") (binary_expression "lVar20 + -1" (identifier "lVar20") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar30 = *pbVar19 < *pbVar22;" (assignment_expression "uVar30 = *pbVar19 < *pbVar22" (identifier "uVar30") (= "=") (binary_expression "*pbVar19 < *pbVar22" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "uVar33 = *pbVar19 == *pbVar22;" (assignment_expression "uVar33 = *pbVar19 == *pbVar22" (identifier "uVar33") (= "=") (binary_expression "*pbVar19 == *pbVar22" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar35 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bool)uVar33)" (( "(") (cast_expression "(bool)uVar33" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar33")) () ")")) (; ";")) (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" (identifier "bVar31") (= "=") (false "false")) (; ";")) (expression_statement "bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;" (assignment_expression "bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30" (identifier "bVar34") (= "=") (binary_expression "(!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30" (parenthesized_expression "(!(bool)uVar30 && !(bool)uVar33)" (( "(") (binary_expression "!(bool)uVar30 && !(bool)uVar33" (unary_expression "!(bool)uVar30" (! "!") (cast_expression "(bool)uVar30" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar30"))) (&& "&&") (unary_expression "!(bool)uVar33" (! "!") (cast_expression "(bool)uVar33" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar33")))) () ")")) (== "==") (cast_expression "(bool)uVar30" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar30")))) (; ";")) (if_statement "if (!bVar34) {\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }" (if "if") (parenthesized_expression "(!bVar34)" (( "(") (unary_expression "!bVar34" (! "!") (identifier "bVar34")) () ")")) (compound_statement "{\n                lVar20 = 7;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)".rdata";\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);\n                bVar32 = false;\n                bVar31 = (!bVar31 && !bVar34) == bVar31;\n                if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }\n                lVar20 = 5;\n                pbVar19 = (byte *)local_44;\n                pbVar22 = (byte *)0x19f8b4;\n                do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;\nLAB_001519af:\n                uVar29 = uVar29 + 1;\n                lVar26 = lVar26 + 0x28;\n                if (uVar18 == uVar29) break;\n                goto LAB_001519c1;\n              }" ({ "{") (expression_statement "lVar20 = 7;" (assignment_expression "lVar20 = 7" (identifier "lVar20") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar19 = (byte *)local_44;" (assignment_expression "pbVar19 = (byte *)local_44" (identifier "pbVar19") (= "=") (cast_expression "(byte *)local_44" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_44"))) (; ";")) (expression_statement "pbVar22 = (byte *)".rdata";" (assignment_expression "pbVar22 = (byte *)".rdata"" (identifier "pbVar22") (= "=") (cast_expression "(byte *)".rdata"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".rdata"" (" """) (string_content ".rdata") (" """)))) (; ";")) (do_statement "do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar34);" (do "do") (compound_statement "{\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar31 = *pbVar19 < *pbVar22;\n                  bVar34 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                }" ({ "{") (if_statement "if (lVar20 == 0) break;" (if "if") (parenthesized_expression "(lVar20 == 0)" (( "(") (binary_expression "lVar20 == 0" (identifier "lVar20") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar20 = lVar20 + -1;" (assignment_expression "lVar20 = lVar20 + -1" (identifier "lVar20") (= "=") (binary_expression "lVar20 + -1" (identifier "lVar20") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar31 = *pbVar19 < *pbVar22;" (assignment_expression "bVar31 = *pbVar19 < *pbVar22" (identifier "bVar31") (= "=") (binary_expression "*pbVar19 < *pbVar22" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "bVar34 = *pbVar19 == *pbVar22;" (assignment_expression "bVar34 = *pbVar19 == *pbVar22" (identifier "bVar34") (= "=") (binary_expression "*pbVar19 == *pbVar22" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar35 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar34)" (( "(") (identifier "bVar34") () ")")) (; ";")) (expression_statement "bVar32 = false;" (assignment_expression "bVar32 = false" (identifier "bVar32") (= "=") (false "false")) (; ";")) (expression_statement "bVar31 = (!bVar31 && !bVar34) == bVar31;" (assignment_expression "bVar31 = (!bVar31 && !bVar34) == bVar31" (identifier "bVar31") (= "=") (binary_expression "(!bVar31 && !bVar34) == bVar31" (parenthesized_expression "(!bVar31 && !bVar34)" (( "(") (binary_expression "!bVar31 && !bVar34" (unary_expression "!bVar31" (! "!") (identifier "bVar31")) (&& "&&") (unary_expression "!bVar34" (! "!") (identifier "bVar34"))) () ")")) (== "==") (identifier "bVar31"))) (; ";")) (if_statement "if (bVar31) {\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }" (if "if") (parenthesized_expression "(bVar31)" (( "(") (identifier "bVar31") () ")")) (compound_statement "{\n                  local_90 = uVar21 + uVar25;\n                  local_98 = uVar25;\n                  goto joined_r0x001519a9;\n                }" ({ "{") (expression_statement "local_90 = uVar21 + uVar25;" (assignment_expression "local_90 = uVar21 + uVar25" (identifier "local_90") (= "=") (binary_expression "uVar21 + uVar25" (identifier "uVar21") (+ "+") (identifier "uVar25"))) (; ";")) (expression_statement "local_98 = uVar25;" (assignment_expression "local_98 = uVar25" (identifier "local_98") (= "=") (identifier "uVar25")) (; ";")) (goto_statement "goto joined_r0x001519a9;" (goto "goto") (statement_identifier "joined_r0x001519a9") (; ";")) (} "}"))) (expression_statement "lVar20 = 5;" (assignment_expression "lVar20 = 5" (identifier "lVar20") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar19 = (byte *)local_44;" (assignment_expression "pbVar19 = (byte *)local_44" (identifier "pbVar19") (= "=") (cast_expression "(byte *)local_44" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_44"))) (; ";")) (expression_statement "pbVar22 = (byte *)0x19f8b4;" (assignment_expression "pbVar22 = (byte *)0x19f8b4" (identifier "pbVar22") (= "=") (cast_expression "(byte *)0x19f8b4" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x19f8b4"))) (; ";")) (do_statement "do {\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                } while (bVar31);" (do "do") (compound_statement "{\n                  if (lVar20 == 0) break;\n                  lVar20 = lVar20 + -1;\n                  bVar32 = *pbVar19 < *pbVar22;\n                  bVar31 = *pbVar19 == *pbVar22;\n                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;\n                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                }" ({ "{") (if_statement "if (lVar20 == 0) break;" (if "if") (parenthesized_expression "(lVar20 == 0)" (( "(") (binary_expression "lVar20 == 0" (identifier "lVar20") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar20 = lVar20 + -1;" (assignment_expression "lVar20 = lVar20 + -1" (identifier "lVar20") (= "=") (binary_expression "lVar20 + -1" (identifier "lVar20") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar32 = *pbVar19 < *pbVar22;" (assignment_expression "bVar32 = *pbVar19 < *pbVar22" (identifier "bVar32") (= "=") (binary_expression "*pbVar19 < *pbVar22" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "bVar31 = *pbVar19 == *pbVar22;" (assignment_expression "bVar31 = *pbVar19 == *pbVar22" (identifier "bVar31") (= "=") (binary_expression "*pbVar19 == *pbVar22" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar35 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar31)" (( "(") (identifier "bVar31") () ")")) (; ";")) (if_statement "if (((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))\n                goto LAB_00151a71;" (if "if") (parenthesized_expression "(((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))" (( "(") (binary_expression "((!bVar32 && !bVar31) == bVar32) &&\n                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0)" (parenthesized_expression "((!bVar32 && !bVar31) == bVar32)" (( "(") (binary_expression "(!bVar32 && !bVar31) == bVar32" (parenthesized_expression "(!bVar32 && !bVar31)" (( "(") (binary_expression "!bVar32 && !bVar31" (unary_expression "!bVar32" (! "!") (identifier "bVar32")) (&& "&&") (unary_expression "!bVar31" (! "!") (identifier "bVar31"))) () ")")) (== "==") (identifier "bVar32")) () ")")) (&& "&&") (parenthesized_expression "(local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0)" (( "(") (comma_expression "local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0" (assignment_expression "local_78 = uVar21 + uVar25" (identifier "local_78") (= "=") (binary_expression "uVar21 + uVar25" (identifier "uVar21") (+ "+") (identifier "uVar25"))) (, ",") (comma_expression "local_80 = uVar25, DAT_002b5adc != 0" (assignment_expression "local_80 = uVar25" (identifier "local_80") (= "=") (identifier "uVar25")) (, ",") (binary_expression "DAT_002b5adc != 0" (identifier "DAT_002b5adc") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (goto_statement "goto LAB_00151a71;" (goto "goto") (statement_identifier "LAB_00151a71") (; ";"))) (labeled_statement "LAB_001519af:\n                uVar29 = uVar29 + 1;" (statement_identifier "LAB_001519af") (: ":") (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" (identifier "uVar29") (= "=") (binary_expression "uVar29 + 1" (identifier "uVar29") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "lVar26 = lVar26 + 0x28;" (assignment_expression "lVar26 = lVar26 + 0x28" (identifier "lVar26") (= "=") (binary_expression "lVar26 + 0x28" (identifier "lVar26") (+ "+") (number_literal "0x28"))) (; ";")) (if_statement "if (uVar18 == uVar29) break;" (if "if") (parenthesized_expression "(uVar18 == uVar29)" (( "(") (binary_expression "uVar18 == uVar29" (identifier "uVar18") (== "==") (identifier "uVar29")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto LAB_001519c1;" (goto "goto") (statement_identifier "LAB_001519c1") (; ";")) (} "}"))) (expression_statement "local_a0 = uVar21 + uVar25;" (assignment_expression "local_a0 = uVar21 + uVar25" (identifier "local_a0") (= "=") (binary_expression "uVar21 + uVar25" (identifier "uVar21") (+ "+") (identifier "uVar25"))) (; ";")) (expression_statement "local_a8 = uVar25;" (assignment_expression "local_a8 = uVar25" (identifier "local_a8") (= "=") (identifier "uVar25")) (; ";")) (labeled_statement "joined_r0x001519a9:\n              if (DAT_002b5adc == 0) goto LAB_001519af;" (statement_identifier "joined_r0x001519a9") (: ":") (if_statement "if (DAT_002b5adc == 0) goto LAB_001519af;" (if "if") (parenthesized_expression "(DAT_002b5adc == 0)" (( "(") (binary_expression "DAT_002b5adc == 0" (identifier "DAT_002b5adc") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001519af;" (goto "goto") (statement_identifier "LAB_001519af") (; ";")))) (labeled_statement "LAB_00151a71:\n              uVar29 = uVar29 + 1;" (statement_identifier "LAB_00151a71") (: ":") (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" (identifier "uVar29") (= "=") (binary_expression "uVar29 + 1" (identifier "uVar29") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "lVar26 = lVar26 + 0x28;" (assignment_expression "lVar26 = lVar26 + 0x28" (identifier "lVar26") (= "=") (binary_expression "lVar26 + 0x28" (identifier "lVar26") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12);" (call_expression "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12)" (identifier "printf") (argument_list "("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,\n                     uVar21 + uVar25,(ulong)uVar12)" (( "(") (string_literal ""%s %s: 0x%08lx-0x%08lx (0x%08lx)\n"" (" """) (string_content "%s %s: 0x%08lx-0x%08lx (0x%08lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""pep_implied_import_dll"" (" """) (string_content "pep_implied_import_dll") (" """)) (, ",") (identifier "local_44") (, ",") (identifier "uVar25") (, ",") (binary_expression "uVar21 + uVar25" (identifier "uVar21") (+ "+") (identifier "uVar25")) (, ",") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar18 != uVar29)" (( "(") (binary_expression "uVar18 != uVar29" (identifier "uVar18") (!= "!=") (identifier "uVar29")) () ")")) (; ";"))) (} "}")))) (expression_statement "lVar26 = xmalloc(local_88);" (assignment_expression "lVar26 = xmalloc(local_88)" (identifier "lVar26") (= "=") (call_expression "xmalloc(local_88)" (identifier "xmalloc") (argument_list "(local_88)" (( "(") (identifier "local_88") () ")")))) (; ";")) (expression_statement "bfd_seek(lVar15,local_68,0);" (call_expression "bfd_seek(lVar15,local_68,0)" (identifier "bfd_seek") (argument_list "(lVar15,local_68,0)" (( "(") (identifier "lVar15") (, ",") (identifier "local_68") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "bfd_bread(lVar26,local_88,lVar15);" (call_expression "bfd_bread(lVar26,local_88,lVar15)" (identifier "bfd_bread") (argument_list "(lVar26,local_88,lVar15)" (( "(") (identifier "lVar26") (, ",") (identifier "local_88") (, ",") (identifier "lVar15") () ")"))) (; ";")) (expression_statement "uVar16 = lVar26 - uVar16;" (assignment_expression "uVar16 = lVar26 - uVar16" (identifier "uVar16") (= "=") (binary_expression "lVar26 - uVar16" (identifier "lVar26") (- "-") (identifier "uVar16"))) (; ";")) (if_statement "if (DAT_002b5af8 == 0) {\n            DAT_002b5af8 = FUN_0014aee0();\n          }" (if "if") (parenthesized_expression "(DAT_002b5af8 == 0)" (( "(") (binary_expression "DAT_002b5af8 == 0" (identifier "DAT_002b5af8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_002b5af8 = FUN_0014aee0();\n          }" ({ "{") (expression_statement "DAT_002b5af8 = FUN_0014aee0();" (assignment_expression "DAT_002b5af8 = FUN_0014aee0()" (identifier "DAT_002b5af8") (= "=") (call_expression "FUN_0014aee0()" (identifier "FUN_0014aee0") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (expression_statement "bVar1 = *(byte *)(lVar26 + 0x21);" (assignment_expression "bVar1 = *(byte *)(lVar26 + 0x21)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(lVar26 + 0x21)" (* "*") (cast_expression "(byte *)(lVar26 + 0x21)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x21)" (( "(") (binary_expression "lVar26 + 0x21" (identifier "lVar26") (+ "+") (number_literal "0x21")) () ")"))))) (; ";")) (expression_statement "bVar2 = *(byte *)(lVar26 + 0x18);" (assignment_expression "bVar2 = *(byte *)(lVar26 + 0x18)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(lVar26 + 0x18)" (* "*") (cast_expression "(byte *)(lVar26 + 0x18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x18)" (( "(") (binary_expression "lVar26 + 0x18" (identifier "lVar26") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "bVar3 = *(byte *)(lVar26 + 0x19);" (assignment_expression "bVar3 = *(byte *)(lVar26 + 0x19)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(lVar26 + 0x19)" (* "*") (cast_expression "(byte *)(lVar26 + 0x19)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x19)" (( "(") (binary_expression "lVar26 + 0x19" (identifier "lVar26") (+ "+") (number_literal "0x19")) () ")"))))) (; ";")) (expression_statement "bVar4 = *(byte *)(lVar26 + 0x22);" (assignment_expression "bVar4 = *(byte *)(lVar26 + 0x22)" (identifier "bVar4") (= "=") (pointer_expression "*(byte *)(lVar26 + 0x22)" (* "*") (cast_expression "(byte *)(lVar26 + 0x22)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x22)" (( "(") (binary_expression "lVar26 + 0x22" (identifier "lVar26") (+ "+") (number_literal "0x22")) () ")"))))) (; ";")) (expression_statement "bVar5 = *(byte *)(lVar26 + 0x1a);" (assignment_expression "bVar5 = *(byte *)(lVar26 + 0x1a)" (identifier "bVar5") (= "=") (pointer_expression "*(byte *)(lVar26 + 0x1a)" (* "*") (cast_expression "(byte *)(lVar26 + 0x1a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x1a)" (( "(") (binary_expression "lVar26 + 0x1a" (identifier "lVar26") (+ "+") (number_literal "0x1a")) () ")"))))) (; ";")) (expression_statement "bVar6 = *(byte *)(lVar26 + 0x1b);" (assignment_expression "bVar6 = *(byte *)(lVar26 + 0x1b)" (identifier "bVar6") (= "=") (pointer_expression "*(byte *)(lVar26 + 0x1b)" (* "*") (cast_expression "(byte *)(lVar26 + 0x1b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x1b)" (( "(") (binary_expression "lVar26 + 0x1b" (identifier "lVar26") (+ "+") (number_literal "0x1b")) () ")"))))) (; ";")) (expression_statement "bVar7 = *(byte *)(lVar26 + 0x20);" (assignment_expression "bVar7 = *(byte *)(lVar26 + 0x20)" (identifier "bVar7") (= "=") (pointer_expression "*(byte *)(lVar26 + 0x20)" (* "*") (cast_expression "(byte *)(lVar26 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x20)" (( "(") (binary_expression "lVar26 + 0x20" (identifier "lVar26") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_4c = (uint)*(byte *)(lVar26 + 0x23);" (assignment_expression "local_4c = (uint)*(byte *)(lVar26 + 0x23)" (identifier "local_4c") (= "=") (binary_expression "(uint)*(byte *)(lVar26 + 0x23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(lVar26 + 0x23)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x23)" (( "(") (binary_expression "lVar26 + 0x23" (identifier "lVar26") (+ "+") (number_literal "0x23")) () ")"))))) (; ";")) (expression_statement "bVar8 = *(byte *)(lVar26 + 0x1c);" (assignment_expression "bVar8 = *(byte *)(lVar26 + 0x1c)" (identifier "bVar8") (= "=") (pointer_expression "*(byte *)(lVar26 + 0x1c)" (* "*") (cast_expression "(byte *)(lVar26 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x1c)" (( "(") (binary_expression "lVar26 + 0x1c" (identifier "lVar26") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "bVar9 = *(byte *)(lVar26 + 0x1d);" (assignment_expression "bVar9 = *(byte *)(lVar26 + 0x1d)" (identifier "bVar9") (= "=") (pointer_expression "*(byte *)(lVar26 + 0x1d)" (* "*") (cast_expression "(byte *)(lVar26 + 0x1d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x1d)" (( "(") (binary_expression "lVar26 + 0x1d" (identifier "lVar26") (+ "+") (number_literal "0x1d")) () ")"))))) (; ";")) (expression_statement "bVar10 = *(byte *)(lVar26 + 0x1e);" (assignment_expression "bVar10 = *(byte *)(lVar26 + 0x1e)" (identifier "bVar10") (= "=") (pointer_expression "*(byte *)(lVar26 + 0x1e)" (* "*") (cast_expression "(byte *)(lVar26 + 0x1e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x1e)" (( "(") (binary_expression "lVar26 + 0x1e" (identifier "lVar26") (+ "+") (number_literal "0x1e")) () ")"))))) (; ";")) (expression_statement "local_5c = (uint)*(byte *)(lVar26 + 0x1f);" (assignment_expression "local_5c = (uint)*(byte *)(lVar26 + 0x1f)" (identifier "local_5c") (= "=") (binary_expression "(uint)*(byte *)(lVar26 + 0x1f)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(lVar26 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x1f)" (( "(") (binary_expression "lVar26 + 0x1f" (identifier "lVar26") (+ "+") (number_literal "0x1f")) () ")"))))) (; ";")) (expression_statement "lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;" (assignment_expression "lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16" (identifier "lVar15") (= "=") (binary_expression "((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16" (parenthesized_expression "((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000)" (( "(") (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +\n                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000" (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100" (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000 +\n                    (uint)*(byte *)(lVar26 + 0xc)" (binary_expression "(uint)*(byte *)(lVar26 + 0xe) * 0x10000" (binary_expression "(uint)*(byte *)(lVar26 + 0xe)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(lVar26 + 0xe)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0xe)" (( "(") (binary_expression "lVar26 + 0xe" (identifier "lVar26") (+ "+") (number_literal "0xe")) () ")")))) (* "*") (number_literal "0x10000")) (+ "+") (binary_expression "(uint)*(byte *)(lVar26 + 0xc)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(lVar26 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0xc)" (( "(") (binary_expression "lVar26 + 0xc" (identifier "lVar26") (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (binary_expression "(uint)*(byte *)(lVar26 + 0xd) * 0x100" (binary_expression "(uint)*(byte *)(lVar26 + 0xd)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(lVar26 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0xd)" (( "(") (binary_expression "lVar26 + 0xd" (identifier "lVar26") (+ "+") (number_literal "0xd")) () ")")))) (* "*") (number_literal "0x100"))) (+ "+") (binary_expression "(uint)*(byte *)(lVar26 + 0xf) * 0x1000000" (binary_expression "(uint)*(byte *)(lVar26 + 0xf)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(lVar26 + 0xf)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0xf)" (( "(") (binary_expression "lVar26 + 0xf" (identifier "lVar26") (+ "+") (number_literal "0xf")) () ")")))) (* "*") (number_literal "0x1000000"))) () ")")) (+ "+") (identifier "uVar16"))) (; ";")) (expression_statement "lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);" (assignment_expression "lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15)" (identifier "lVar26") (= "=") (call_expression "FUN_0014b4e0(DAT_002b5af8,lVar15)" (identifier "FUN_0014b4e0") (argument_list "(DAT_002b5af8,lVar15)" (( "(") (identifier "DAT_002b5af8") (, ",") (identifier "lVar15") () ")")))) (; ";")) (if_statement "if (lVar26 == 0) {\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }\n          else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }" (if "if") (parenthesized_expression "(lVar26 == 0)" (( "(") (binary_expression "lVar26 == 0" (identifier "lVar26") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;\n            uVar18 = (ulong)uVar12;\n            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);\n            pbVar19 = (byte *)(uVar16 + uVar21);\n            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);\n            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);\n            if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }\n          }" ({ "{") (expression_statement "uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000;" (assignment_expression "uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000" (identifier "uVar12") (= "=") (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +\n                     (uint)bVar6 * 0x1000000" (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000" (binary_expression "(uint)bVar2 + (uint)bVar3 * 0x100" (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2")) (+ "+") (binary_expression "(uint)bVar3 * 0x100" (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3")) (* "*") (number_literal "0x100"))) (+ "+") (binary_expression "(uint)bVar5 * 0x10000" (cast_expression "(uint)bVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar5")) (* "*") (number_literal "0x10000"))) (+ "+") (binary_expression "(uint)bVar6 * 0x1000000" (cast_expression "(uint)bVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar6")) (* "*") (number_literal "0x1000000")))) (; ";")) (expression_statement "uVar18 = (ulong)uVar12;" (assignment_expression "uVar18 = (ulong)uVar12" (identifier "uVar18") (= "=") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12"))) (; ";")) (expression_statement "uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000);" (assignment_expression "uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" (identifier "uVar21") (= "=") (call_expression "(ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000)" (( "(") (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +\n                            local_4c * 0x1000000" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar7" (binary_expression "(uint)bVar4 * 0x10000" (cast_expression "(uint)bVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar4")) (* "*") (number_literal "0x10000")) (+ "+") (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7"))) (+ "+") (binary_expression "(uint)bVar1 * 0x100" (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) (* "*") (number_literal "0x100"))) (+ "+") (binary_expression "local_4c * 0x1000000" (identifier "local_4c") (* "*") (number_literal "0x1000000"))) () ")")))) (; ";")) (expression_statement "pbVar19 = (byte *)(uVar16 + uVar21);" (assignment_expression "pbVar19 = (byte *)(uVar16 + uVar21)" (identifier "pbVar19") (= "=") (cast_expression "(byte *)(uVar16 + uVar21)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar16 + uVar21)" (( "(") (binary_expression "uVar16 + uVar21" (identifier "uVar16") (+ "+") (identifier "uVar21")) () ")")))) (; ";")) (expression_statement "uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000);" (assignment_expression "uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" (identifier "uVar29") (= "=") (call_expression "(ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000)" (( "(") (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +\n                            local_5c * 0x1000000" (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100" (binary_expression "(uint)bVar10 * 0x10000 + (uint)bVar8" (binary_expression "(uint)bVar10 * 0x10000" (cast_expression "(uint)bVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar10")) (* "*") (number_literal "0x10000")) (+ "+") (cast_expression "(uint)bVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar8"))) (+ "+") (binary_expression "(uint)bVar9 * 0x100" (cast_expression "(uint)bVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar9")) (* "*") (number_literal "0x100"))) (+ "+") (binary_expression "local_5c * 0x1000000" (identifier "local_5c") (* "*") (number_literal "0x1000000"))) () ")")))) (; ";")) (expression_statement "iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);" (assignment_expression "iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0)" (identifier "iVar11") (= "=") (call_expression "FUN_0014c9a0(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0)" (identifier "FUN_0014c9a0") (argument_list "(DAT_002b5af8,uVar18,\n                                  ((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0)" (( "(") (identifier "DAT_002b5af8") (, ",") (identifier "uVar18") (, ",") (binary_expression "((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16" (parenthesized_expression "((uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100)" (( "(") (binary_expression "(uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100" (binary_expression "(uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000 +\n                                  (uint)*pbVar19" (binary_expression "(uint)pbVar19[3] * 0x1000000 +\n                                  (uint)pbVar19[2] * 0x10000" (binary_expression "(uint)pbVar19[3] * 0x1000000" (cast_expression "(uint)pbVar19[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[3]" (identifier "pbVar19") ([ "[") (number_literal "3") (] "]"))) (* "*") (number_literal "0x1000000")) (+ "+") (binary_expression "(uint)pbVar19[2] * 0x10000" (cast_expression "(uint)pbVar19[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[2]" (identifier "pbVar19") ([ "[") (number_literal "2") (] "]"))) (* "*") (number_literal "0x10000"))) (+ "+") (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar19"))) (+ "+") (binary_expression "(uint)pbVar19[1] * 0x100" (cast_expression "(uint)pbVar19[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[1]" (identifier "pbVar19") ([ "[") (number_literal "1") (] "]"))) (* "*") (number_literal "0x100"))) () ")")) (+ "+") (identifier "uVar16")) (, ",") (identifier "lVar15") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar11 < 0) {\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }\n            else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" (if "if") (parenthesized_expression "(iVar11 < 0)" (( "(") (binary_expression "iVar11 < 0" (identifier "iVar11") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              uVar25 = 0;\n              if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }\n            }" ({ "{") (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar12 != 0) {\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }" (if "if") (parenthesized_expression "(uVar12 != 0)" (( "(") (binary_expression "uVar12 != 0" (identifier "uVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);\n              }" ({ "{") (do_statement "do {\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                } while (uVar18 != uVar25);" (do "do") (compound_statement "{\n                  lVar26 = 5;\n                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                  bVar31 = CARRY8(uVar27,uVar16);\n                  pbVar28 = (byte *)(uVar27 + uVar16);\n                  bVar34 = pbVar28 == (byte *)0x0;\n                  pbVar22 = pbVar28;\n                  pbVar24 = (byte *)"__nm_";\n                  do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }\n                  uVar25 = uVar25 + 1;\n                  pbVar19 = pbVar19 + 4;\n                }" ({ "{") (expression_statement "lVar26 = 5;" (assignment_expression "lVar26 = 5" (identifier "lVar26") (= "=") (number_literal "5")) (; ";")) (expression_statement "uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);" (assignment_expression "uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" (identifier "uVar27") (= "=") (call_expression "(ulong)((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" (( "(") (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19" (binary_expression "(uint)pbVar19[2] * 0x10000" (cast_expression "(uint)pbVar19[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[2]" (identifier "pbVar19") ([ "[") (number_literal "2") (] "]"))) (* "*") (number_literal "0x10000")) (+ "+") (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar19"))) (+ "+") (binary_expression "(uint)pbVar19[1] * 0x100" (cast_expression "(uint)pbVar19[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[1]" (identifier "pbVar19") ([ "[") (number_literal "1") (] "]"))) (* "*") (number_literal "0x100"))) (+ "+") (binary_expression "(uint)pbVar19[3] * 0x1000000" (cast_expression "(uint)pbVar19[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[3]" (identifier "pbVar19") ([ "[") (number_literal "3") (] "]"))) (* "*") (number_literal "0x1000000"))) () ")")))) (; ";")) (expression_statement "bVar31 = CARRY8(uVar27,uVar16);" (assignment_expression "bVar31 = CARRY8(uVar27,uVar16)" (identifier "bVar31") (= "=") (call_expression "CARRY8(uVar27,uVar16)" (identifier "CARRY8") (argument_list "(uVar27,uVar16)" (( "(") (identifier "uVar27") (, ",") (identifier "uVar16") () ")")))) (; ";")) (expression_statement "pbVar28 = (byte *)(uVar27 + uVar16);" (assignment_expression "pbVar28 = (byte *)(uVar27 + uVar16)" (identifier "pbVar28") (= "=") (cast_expression "(byte *)(uVar27 + uVar16)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar27 + uVar16)" (( "(") (binary_expression "uVar27 + uVar16" (identifier "uVar27") (+ "+") (identifier "uVar16")) () ")")))) (; ";")) (expression_statement "bVar34 = pbVar28 == (byte *)0x0;" (assignment_expression "bVar34 = pbVar28 == (byte *)0x0" (identifier "bVar34") (= "=") (binary_expression "pbVar28 == (byte *)0x0" (identifier "pbVar28") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (expression_statement "pbVar22 = pbVar28;" (assignment_expression "pbVar22 = pbVar28" (identifier "pbVar22") (= "=") (identifier "pbVar28")) (; ";")) (expression_statement "pbVar24 = (byte *)"__nm_";" (assignment_expression "pbVar24 = (byte *)"__nm_"" (identifier "pbVar24") (= "=") (cast_expression "(byte *)"__nm_"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""__nm_"" (" """) (string_content "__nm_") (" """)))) (; ";")) (do_statement "do {\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  } while (bVar34);" (do "do") (compound_statement "{\n                    if (lVar26 == 0) break;\n                    lVar26 = lVar26 + -1;\n                    bVar31 = *pbVar22 < *pbVar24;\n                    bVar34 = *pbVar22 == *pbVar24;\n                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;\n                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;\n                  }" ({ "{") (if_statement "if (lVar26 == 0) break;" (if "if") (parenthesized_expression "(lVar26 == 0)" (( "(") (binary_expression "lVar26 == 0" (identifier "lVar26") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar26 = lVar26 + -1;" (assignment_expression "lVar26 = lVar26 + -1" (identifier "lVar26") (= "=") (binary_expression "lVar26 + -1" (identifier "lVar26") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar31 = *pbVar22 < *pbVar24;" (assignment_expression "bVar31 = *pbVar22 < *pbVar24" (identifier "bVar31") (= "=") (binary_expression "*pbVar22 < *pbVar24" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (< "<") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")))) (; ";")) (expression_statement "bVar34 = *pbVar22 == *pbVar24;" (assignment_expression "bVar34 = *pbVar22 == *pbVar24" (identifier "bVar34") (= "=") (binary_expression "*pbVar22 == *pbVar24" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")))) (; ";")) (expression_statement "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar22 + (ulong)bVar35 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (ulong)bVar35 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar35 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(ulong)bVar35 * -2" (cast_expression "(ulong)bVar35" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar35")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar34)" (( "(") (identifier "bVar34") () ")")) (; ";")) (if_statement "if ((!bVar31 && !bVar34) != bVar31) {\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }" (if "if") (parenthesized_expression "((!bVar31 && !bVar34) != bVar31)" (( "(") (binary_expression "(!bVar31 && !bVar34) != bVar31" (parenthesized_expression "(!bVar31 && !bVar34)" (( "(") (binary_expression "!bVar31 && !bVar34" (unary_expression "!bVar31" (! "!") (identifier "bVar31")) (&& "&&") (unary_expression "!bVar34" (! "!") (identifier "bVar34"))) () ")")) (!= "!=") (identifier "bVar31")) () ")")) (compound_statement "{\n                    local_44[0] = 0;\n                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);\n                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }\n                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);\n                    if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }\n                    if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }\n                  }" ({ "{") (expression_statement "local_44[0] = 0;" (assignment_expression "local_44[0] = 0" (subscript_expression "local_44[0]" (identifier "local_44") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);" (assignment_expression "uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000)" (identifier "uVar27") (= "=") (call_expression "(ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000)" (( "(") (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +\n                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000" (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21] +\n                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100" (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +\n                                     (uint)pbVar19[uVar29 - uVar21]" (binary_expression "(uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000" (cast_expression "(uint)pbVar19[uVar29 + (2 - uVar21)]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[uVar29 + (2 - uVar21)]" (identifier "pbVar19") ([ "[") (binary_expression "uVar29 + (2 - uVar21)" (identifier "uVar29") (+ "+") (parenthesized_expression "(2 - uVar21)" (( "(") (binary_expression "2 - uVar21" (number_literal "2") (- "-") (identifier "uVar21")) () ")"))) (] "]"))) (* "*") (number_literal "0x10000")) (+ "+") (cast_expression "(uint)pbVar19[uVar29 - uVar21]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[uVar29 - uVar21]" (identifier "pbVar19") ([ "[") (binary_expression "uVar29 - uVar21" (identifier "uVar29") (- "-") (identifier "uVar21")) (] "]")))) (+ "+") (binary_expression "(uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100" (cast_expression "(uint)pbVar19[uVar29 + (1 - uVar21)]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[uVar29 + (1 - uVar21)]" (identifier "pbVar19") ([ "[") (binary_expression "uVar29 + (1 - uVar21)" (identifier "uVar29") (+ "+") (parenthesized_expression "(1 - uVar21)" (( "(") (binary_expression "1 - uVar21" (number_literal "1") (- "-") (identifier "uVar21")) () ")"))) (] "]"))) (* "*") (number_literal "0x100"))) (+ "+") (binary_expression "(uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000" (cast_expression "(uint)pbVar19[uVar29 + (3 - uVar21)]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[uVar29 + (3 - uVar21)]" (identifier "pbVar19") ([ "[") (binary_expression "uVar29 + (3 - uVar21)" (identifier "uVar29") (+ "+") (parenthesized_expression "(3 - uVar21)" (( "(") (binary_expression "3 - uVar21" (number_literal "3") (- "-") (identifier "uVar21")) () ")"))) (] "]"))) (* "*") (number_literal "0x1000000"))) () ")")))) (; ";")) (if_statement "if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }" (if "if") (parenthesized_expression "(((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27))))" (( "(") (binary_expression "((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&\n                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))" (parenthesized_expression "((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27))" (( "(") (binary_expression "(uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)" (parenthesized_expression "(uVar27 < local_a8)" (( "(") (binary_expression "uVar27 < local_a8" (identifier "uVar27") (< "<") (identifier "local_a8")) () ")")) (|| "||") (parenthesized_expression "(uVar12 = 1, local_a0 <= uVar27)" (( "(") (comma_expression "uVar12 = 1, local_a0 <= uVar27" (assignment_expression "uVar12 = 1" (identifier "uVar12") (= "=") (number_literal "1")) (, ",") (binary_expression "local_a0 <= uVar27" (identifier "local_a0") (<= "<=") (identifier "uVar27"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))" (( "(") (parenthesized_expression "(uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27))" (( "(") (binary_expression "uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)" (binary_expression "uVar27 < local_98" (identifier "uVar27") (< "<") (identifier "local_98")) (|| "||") (parenthesized_expression "(uVar12 = 1, local_90 <= uVar27)" (( "(") (comma_expression "uVar12 = 1, local_90 <= uVar27" (assignment_expression "uVar12 = 1" (identifier "uVar12") (= "=") (number_literal "1")) (, ",") (binary_expression "local_90 <= uVar27" (identifier "local_90") (<= "<=") (identifier "uVar27"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);\n                    }" ({ "{") (expression_statement "uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);" (assignment_expression "uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27)" (identifier "uVar12") (= "=") (call_expression "(uint)(uVar27 < local_78 && local_80 <= uVar27)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar27 < local_78 && local_80 <= uVar27)" (( "(") (binary_expression "uVar27 < local_78 && local_80 <= uVar27" (binary_expression "uVar27 < local_78" (identifier "uVar27") (< "<") (identifier "local_78")) (&& "&&") (binary_expression "local_80 <= uVar27" (identifier "local_80") (<= "<=") (identifier "uVar27"))) () ")")))) (; ";")) (} "}"))) (expression_statement "lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44);" (assignment_expression "lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44)" (identifier "lVar26") (= "=") (call_expression "FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44)" (identifier "FUN_0014b520") (argument_list "(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,\n                                          local_44)" (( "(") (identifier "DAT_002b5af8") (, ",") (identifier "pbVar28") (, ",") (identifier "lVar15") (, ",") (binary_expression "uVar25 & 0xffffffff" (identifier "uVar25") (& "&") (number_literal "0xffffffff")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "local_44") () ")")))) (; ";")) (if_statement "if (local_44[0] == 0) {\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }" (if "if") (parenthesized_expression "(local_44[0] == 0)" (( "(") (binary_expression "local_44[0] == 0" (subscript_expression "local_44[0]" (identifier "local_44") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      *(uint *)(lVar26 + 0x24) = uVar12;\n                    }" ({ "{") (expression_statement "*(uint *)(lVar26 + 0x24) = uVar12;" (assignment_expression "*(uint *)(lVar26 + 0x24) = uVar12" (pointer_expression "*(uint *)(lVar26 + 0x24)" (* "*") (cast_expression "(uint *)(lVar26 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar26 + 0x24)" (( "(") (binary_expression "lVar26 + 0x24" (identifier "lVar26") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (} "}"))) (if_statement "if (DAT_002b5adc != 0) {\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }" (if "if") (parenthesized_expression "(DAT_002b5adc != 0)" (( "(") (binary_expression "DAT_002b5adc != 0" (identifier "DAT_002b5adc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);\n                    }" ({ "{") (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28)" (identifier "printf") (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",\n                             lVar15,pbVar28)" (( "(") (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" (" """) (string_content "%s dll-name: %s sym: %s addr: 0x%lx %s") (escape_sequence "\n") (" """)) (, ",") (string_literal ""pep_implied_import_dll"" (" """) (string_content "pep_implied_import_dll") (" """)) (, ",") (identifier "lVar15") (, ",") (identifier "pbVar28") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" (identifier "uVar25") (= "=") (binary_expression "uVar25 + 1" (identifier "uVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + 4;" (assignment_expression "pbVar19 = pbVar19 + 4" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + 4" (identifier "pbVar19") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar18 != uVar25)" (( "(") (binary_expression "uVar18 != uVar25" (identifier "uVar18") (!= "!=") (identifier "uVar25")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" (else "else") (if_statement "if (uVar12 != 0) {\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" (if "if") (parenthesized_expression "(uVar12 != 0)" (( "(") (binary_expression "uVar12 != 0" (identifier "uVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pbVar22 = (byte *)(uVar29 + uVar16);\n              uVar29 = 0;\n              do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);\n            }" ({ "{") (expression_statement "pbVar22 = (byte *)(uVar29 + uVar16);" (assignment_expression "pbVar22 = (byte *)(uVar29 + uVar16)" (identifier "pbVar22") (= "=") (cast_expression "(byte *)(uVar29 + uVar16)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar29 + uVar16)" (( "(") (binary_expression "uVar29 + uVar16" (identifier "uVar29") (+ "+") (identifier "uVar16")) () ")")))) (; ";")) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" (identifier "uVar29") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              } while (uVar18 != uVar29);" (do "do") (compound_statement "{\n                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);\n                iVar23 = iVar11 + (int)uVar29;\n                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);\n                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }\n                if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }\n                uVar29 = uVar29 + 1;\n                pbVar19 = pbVar19 + 4;\n                pbVar22 = pbVar22 + 4;\n              }" ({ "{") (expression_statement "uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000);" (assignment_expression "uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" (identifier "uVar21") (= "=") (call_expression "(ulong)((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000)" (( "(") (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +\n                                (uint)pbVar22[3] * 0x1000000" (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100" (binary_expression "(uint)pbVar22[2] * 0x10000 +\n                                 (uint)*pbVar22" (binary_expression "(uint)pbVar22[2] * 0x10000" (cast_expression "(uint)pbVar22[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar22[2]" (identifier "pbVar22") ([ "[") (number_literal "2") (] "]"))) (* "*") (number_literal "0x10000")) (+ "+") (binary_expression "(uint)*pbVar22" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar22"))) (+ "+") (binary_expression "(uint)pbVar22[1] * 0x100" (cast_expression "(uint)pbVar22[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]"))) (* "*") (number_literal "0x100"))) (+ "+") (binary_expression "(uint)pbVar22[3] * 0x1000000" (cast_expression "(uint)pbVar22[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar22[3]" (identifier "pbVar22") ([ "[") (number_literal "3") (] "]"))) (* "*") (number_literal "0x1000000"))) () ")")))) (; ";")) (expression_statement "iVar23 = iVar11 + (int)uVar29;" (assignment_expression "iVar23 = iVar11 + (int)uVar29" (identifier "iVar23") (= "=") (binary_expression "iVar11 + (int)uVar29" (identifier "iVar11") (+ "+") (cast_expression "(int)uVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar29")))) (; ";")) (expression_statement "lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000);" (assignment_expression "lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" (identifier "lVar26") (= "=") (binary_expression "uVar16 + ((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" (identifier "uVar16") (+ "+") (parenthesized_expression "((uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000)" (( "(") (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +\n                                  (uint)pbVar19[3] * 0x1000000" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100" (binary_expression "(uint)pbVar19[2] * 0x10000 +\n                                   (uint)*pbVar19" (binary_expression "(uint)pbVar19[2] * 0x10000" (cast_expression "(uint)pbVar19[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[2]" (identifier "pbVar19") ([ "[") (number_literal "2") (] "]"))) (* "*") (number_literal "0x10000")) (+ "+") (binary_expression "(uint)*pbVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar19"))) (+ "+") (binary_expression "(uint)pbVar19[1] * 0x100" (cast_expression "(uint)pbVar19[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[1]" (identifier "pbVar19") ([ "[") (number_literal "1") (] "]"))) (* "*") (number_literal "0x100"))) (+ "+") (binary_expression "(uint)pbVar19[3] * 0x1000000" (cast_expression "(uint)pbVar19[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar19[3]" (identifier "pbVar19") ([ "[") (number_literal "3") (] "]"))) (* "*") (number_literal "0x1000000"))) () ")")))) (; ";")) (if_statement "if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }\n                else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }" (if "if") (parenthesized_expression "((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21))))" (( "(") (binary_expression "(((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&\n                   ((uVar21 < local_80 || (local_78 <= uVar21)))" (parenthesized_expression "(((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21))))" (( "(") (binary_expression "((uVar21 < local_a8) || (local_a0 <= uVar21)) &&\n                    ((uVar21 < local_98 || (local_90 <= uVar21)))" (parenthesized_expression "((uVar21 < local_a8) || (local_a0 <= uVar21))" (( "(") (binary_expression "(uVar21 < local_a8) || (local_a0 <= uVar21)" (parenthesized_expression "(uVar21 < local_a8)" (( "(") (binary_expression "uVar21 < local_a8" (identifier "uVar21") (< "<") (identifier "local_a8")) () ")")) (|| "||") (parenthesized_expression "(local_a0 <= uVar21)" (( "(") (binary_expression "local_a0 <= uVar21" (identifier "local_a0") (<= "<=") (identifier "uVar21")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar21 < local_98 || (local_90 <= uVar21)))" (( "(") (parenthesized_expression "(uVar21 < local_98 || (local_90 <= uVar21))" (( "(") (binary_expression "uVar21 < local_98 || (local_90 <= uVar21)" (binary_expression "uVar21 < local_98" (identifier "uVar21") (< "<") (identifier "local_98")) (|| "||") (parenthesized_expression "(local_90 <= uVar21)" (( "(") (binary_expression "local_90 <= uVar21" (identifier "local_90") (<= "<=") (identifier "uVar21")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar21 < local_80 || (local_78 <= uVar21)))" (( "(") (parenthesized_expression "(uVar21 < local_80 || (local_78 <= uVar21))" (( "(") (binary_expression "uVar21 < local_80 || (local_78 <= uVar21)" (binary_expression "uVar21 < local_80" (identifier "uVar21") (< "<") (identifier "local_80")) (|| "||") (parenthesized_expression "(local_78 <= uVar21)" (( "(") (binary_expression "local_78 <= uVar21" (identifier "local_78") (<= "<=") (identifier "uVar21")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 0;\n                }" ({ "{") (expression_statement "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);" (assignment_expression "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" (identifier "lVar20") (= "=") (call_expression "FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" (identifier "FUN_0014cb40") (argument_list "(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" (( "(") (identifier "DAT_002b5af8") (, ",") (identifier "iVar23") (, ",") (identifier "lVar26") (, ",") (identifier "lVar15") (, ",") (binary_expression "uVar29 & 0xffffffff" (identifier "uVar29") (& "&") (number_literal "0xffffffff")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar23 = DAT_002b5adc;" (assignment_expression "iVar23 = DAT_002b5adc" (identifier "iVar23") (= "=") (identifier "DAT_002b5adc")) (; ";")) (expression_statement "*(undefined4 *)(lVar20 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(lVar20 + 0x24) = 0" (pointer_expression "*(undefined4 *)(lVar20 + 0x24)" (* "*") (cast_expression "(undefined4 *)(lVar20 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar20 + 0x24)" (( "(") (binary_expression "lVar20 + 0x24" (identifier "lVar20") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }" (else "else") (compound_statement "{\n                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);\n                  iVar23 = DAT_002b5adc;\n                  *(undefined4 *)(lVar20 + 0x24) = 1;\n                }" ({ "{") (expression_statement "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);" (assignment_expression "lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" (identifier "lVar20") (= "=") (call_expression "FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" (identifier "FUN_0014cb40") (argument_list "(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0)" (( "(") (identifier "DAT_002b5af8") (, ",") (identifier "iVar23") (, ",") (identifier "lVar26") (, ",") (identifier "lVar15") (, ",") (binary_expression "uVar29 & 0xffffffff" (identifier "uVar29") (& "&") (number_literal "0xffffffff")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar23 = DAT_002b5adc;" (assignment_expression "iVar23 = DAT_002b5adc" (identifier "iVar23") (= "=") (identifier "DAT_002b5adc")) (; ";")) (expression_statement "*(undefined4 *)(lVar20 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(lVar20 + 0x24) = 1" (pointer_expression "*(undefined4 *)(lVar20 + 0x24)" (* "*") (cast_expression "(undefined4 *)(lVar20 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar20 + 0x24)" (( "(") (binary_expression "lVar20 + 0x24" (identifier "lVar20") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")))) (if_statement "if (iVar23 != 0) {\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }" (if "if") (parenthesized_expression "(iVar23 != 0)" (( "(") (binary_expression "iVar23 != 0" (identifier "iVar23") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);\n                }" ({ "{") (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21)" (identifier "printf") (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,\n                         lVar26,uVar21)" (( "(") (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" (" """) (string_content "%s dll-name: %s sym: %s addr: 0x%lx %s") (escape_sequence "\n") (" """)) (, ",") (string_literal ""pep_implied_import_dll"" (" """) (string_content "pep_implied_import_dll") (" """)) (, ",") (identifier "lVar15") (, ",") (identifier "lVar26") (, ",") (identifier "uVar21") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" (identifier "uVar29") (= "=") (binary_expression "uVar29 + 1" (identifier "uVar29") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + 4;" (assignment_expression "pbVar19 = pbVar19 + 4" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + 4" (identifier "pbVar19") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pbVar22 = pbVar22 + 4;" (assignment_expression "pbVar22 = pbVar22 + 4" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + 4" (identifier "pbVar22") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar18 != uVar29)" (( "(") (binary_expression "uVar18 != uVar29" (identifier "uVar18") (!= "!=") (identifier "uVar29")) () ")")) (; ";")) (} "}"))))) (} "}")) (else_clause "else if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }" (else "else") (if_statement "if (DAT_002b5adc != 0) {\n            printf("%s is already loaded\n",lVar15);\n          }" (if "if") (parenthesized_expression "(DAT_002b5adc != 0)" (( "(") (binary_expression "DAT_002b5adc != 0" (identifier "DAT_002b5adc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            printf("%s is already loaded\n",lVar15);\n          }" ({ "{") (expression_statement "printf("%s is already loaded\n",lVar15);" (call_expression "printf("%s is already loaded\n",lVar15)" (identifier "printf") (argument_list "("%s is already loaded\n",lVar15)" (( "(") (string_literal ""%s is already loaded\n"" (" """) (string_content "%s is already loaded") (escape_sequence "\n") (" """)) (, ",") (identifier "lVar15") () ")"))) (; ";")) (} "}"))))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}"))) (} "}")))) (} "}")))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

type_1 function_1(char *filename)

{
  char *name;
  type_2 bVar1;
  type_2 bVar2;
  type_2 bVar3;
  type_2 bVar4;
  type_2 bVar5;
  type_2 bVar6;
  type_2 bVar7;
  type_2 bVar8;
  type_2 bVar9;
  type_2 bVar10;
  int var_46;
  int var_6;
  type_3 var_8;
  type_3 var_9;
  type_3 uVar15;
  type_4 *var_2;
  type_5 var_16;
  char *pcVar17;
  type_6 *var_31;
  type_7 *pdVar19;
  type_2 *var_20;
  long var_19;
  type_2 *var_21;
  type_2 *var_37;
  type_5 var_17;
  long var_25;
  type_2 *var_36;
  type_5 var_12;
  type_5 var_15;
  type_5 var_18;
  type_8 uVar29;
  bool var_22;
  bool var_23;
  type_8 uVar32;
  bool bVar33;
  type_2 bVar34;
  type_5 var_38;
  type_5 var_39;
  type_5 var_40;
  type_5 var_41;
  type_5 var_10;
  type_5 var_43;
  type_5 var_42;
  long local_68;
  type_3 var_33;
  type_3 var_32;
  char sname [8];
  
  bVar34 = 0;
  var_2 = (type_4 *)var_1(filename,pep_details->target_name);
  if (var_2 == (type_4 *)0x0) {
    pcVar17 = (char *)var_3(0,"%X%P: open %s: %E\n",5);
    var_4(pcVar17,filename);
  }
  else {
    var_6 = var_5(var_2,1);
    if (var_6 == 0) {
      pcVar17 = (char *)var_3(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);
      var_4(pcVar17,filename);
    }
    else {
      var_8 = var_7(var_2,0x3c);
      var_9 = var_7(var_2,var_8 + 0x84);
      if (var_9 != 0) {
        var_9 = var_7(var_2,var_8 + 0x88);
        uVar15 = var_7(var_2,var_8 + 0x8c);
        var_10 = (type_5)uVar15;
        if (var_10 != 0) {
          var_16 = (type_5)var_9;
          var_9 = var_11(var_2,var_8 + 6);
          var_12 = (type_5)var_9;
          var_9 = var_11(var_2,var_8 + 0x14);
          var_25 = (type_5)var_8 + 0x18 + (type_5)var_9;
          if (var_12 == 0) {
            var_42 = 0;
            var_41 = 0;
            var_39 = 0;
            local_68 = 0;
            var_43 = 1;
            var_40 = 1;
            var_38 = 1;
          }
          else {
            var_18 = 0;
            var_19 = var_25;
            do {
              var_6 = (int)var_19;
              var_8 = var_7(var_2,var_6 + 0xc);
              var_15 = (type_5)var_8;
              var_8 = var_7(var_2,var_6 + 0x10);
              var_9 = var_7(var_2,var_6 + 0x14);
              var_13(var_2,var_19,0);
              var_14(sname,8,var_2);
              if ((var_15 <= var_16) && (var_17 = var_8 + var_15, var_16 < var_17)) {
                var_18 = var_17 - var_16;
                if (var_16 + var_10 <= var_17) {
                  var_18 = var_10;
                }
                local_68 = (var_9 - var_15) + var_16;
                var_10 = var_18;
                goto LAB_0015194c;
              }
              var_18 = var_18 + 1;
              var_19 = var_19 + 0x28;
            } while (var_12 != var_18);
            local_68 = 0;
LAB_0015194c:
            var_42 = 0;
            var_18 = 0;
            var_43 = 1;
            var_41 = 0;
            var_40 = 1;
            var_39 = 0;
            var_38 = 1;
LAB_001519c1:
            do {
              var_6 = (int)var_25;
              var_8 = var_7(var_2,var_6 + 8);
              var_15 = (type_5)var_8;
              var_8 = var_7(var_2,var_6 + 0xc);
              var_17 = (type_5)var_8;
              var_7(var_2,var_6 + 0x24);
              uVar29 = 0;
              uVar32 = 1;
              var_13(var_2,var_25);
              var_14(sname,8,var_2);
              var_19 = 6;
              var_20 = (type_2 *)sname;
              var_21 = (type_2 *)0x19f8a8;
              do {
                if (var_19 == 0) break;
                var_19 = var_19 + -1;
                uVar29 = *var_20 < *var_21;
                uVar32 = *var_20 == *var_21;
                var_20 = var_20 + (type_5)bVar34 * -2 + 1;
                var_21 = var_21 + (type_5)bVar34 * -2 + 1;
              } while ((bool)uVar32);
              var_22 = false;
              bVar33 = (!(bool)uVar29 && !(bool)uVar32) == (bool)uVar29;
              if (!bVar33) {
                var_19 = 7;
                var_20 = (type_2 *)sname;
                var_21 = (type_2 *)".rdata";
                do {
                  if (var_19 == 0) break;
                  var_19 = var_19 + -1;
                  var_22 = *var_20 < *var_21;
                  bVar33 = *var_20 == *var_21;
                  var_20 = var_20 + (type_5)bVar34 * -2 + 1;
                  var_21 = var_21 + (type_5)bVar34 * -2 + 1;
                } while (bVar33);
                var_23 = false;
                var_22 = (!var_22 && !bVar33) == var_22;
                if (var_22) {
                  var_41 = var_15 + var_17;
                  var_40 = var_17;
                  goto joined_r0x001519a9;
                }
                var_19 = 5;
                var_20 = (type_2 *)sname;
                var_21 = (type_2 *)0x19f8b4;
                do {
                  if (var_19 == 0) break;
                  var_19 = var_19 + -1;
                  var_23 = *var_20 < *var_21;
                  var_22 = *var_20 == *var_21;
                  var_20 = var_20 + (type_5)bVar34 * -2 + 1;
                  var_21 = var_21 + (type_5)bVar34 * -2 + 1;
                } while (var_22);
                if (((!var_23 && !var_22) == var_23) &&
                   (var_42 = var_15 + var_17, var_43 = var_17, var_24 != 0))
                goto LAB_00151a71;
LAB_001519af:
                var_18 = var_18 + 1;
                var_25 = var_25 + 0x28;
                if (var_12 == var_18) break;
                goto LAB_001519c1;
              }
              var_39 = var_15 + var_17;
              var_38 = var_17;
joined_r0x001519a9:
              if (var_24 == 0) goto LAB_001519af;
LAB_00151a71:
              var_18 = var_18 + 1;
              var_25 = var_25 + 0x28;
              var_26("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",sname,var_17);
            } while (var_12 != var_18);
          }
          var_25 = var_27(var_10);
          var_13(var_2,local_68,0);
          var_14(var_25,var_10,var_2);
          var_16 = var_25 - var_16;
          if (var_28 == (type_9 *)0x0) {
            var_28 = var_29();
          }
          bVar1 = *(type_2 *)(var_25 + 0x21);
          bVar2 = *(type_2 *)(var_25 + 0x18);
          bVar3 = *(type_2 *)(var_25 + 0x19);
          bVar4 = *(type_2 *)(var_25 + 0x22);
          bVar5 = *(type_2 *)(var_25 + 0x1a);
          bVar6 = *(type_2 *)(var_25 + 0x1b);
          bVar7 = *(type_2 *)(var_25 + 0x20);
          var_32 = (type_3)*(type_2 *)(var_25 + 0x23);
          bVar8 = *(type_2 *)(var_25 + 0x1c);
          bVar9 = *(type_2 *)(var_25 + 0x1d);
          bVar10 = *(type_2 *)(var_25 + 0x1e);
          var_33 = (type_3)*(type_2 *)(var_25 + 0x1f);
          pcVar17 = (char *)(((type_3)*(type_2 *)(var_25 + 0xe) * 0x10000 +
                              (type_3)*(type_2 *)(var_25 + 0xc) + (type_3)*(type_2 *)(var_25 + 0xd) * 0x100
                             + (type_3)*(type_2 *)(var_25 + 0xf) * 0x1000000) + var_16);
          var_31 = var_30(var_28,pcVar17);
          if (var_31 == (type_6 *)0x0) {
            var_8 = (type_3)bVar2 + (type_3)bVar3 * 0x100 + (type_3)bVar5 * 0x10000 +
                     (type_3)bVar6 * 0x1000000;
            var_18 = (type_5)((type_3)bVar4 * 0x10000 + (type_3)bVar7 + (type_3)bVar1 * 0x100 +
                            var_32 * 0x1000000);
            var_20 = (type_2 *)(var_16 + var_18);
            var_12 = (type_5)((type_3)bVar10 * 0x10000 + (type_3)bVar8 + (type_3)bVar9 * 0x100 +
                            var_33 * 0x1000000);
            var_6 = var_34
                               (var_28,var_8,
                                (char *)(((type_3)var_20[3] * 0x1000000 +
                                         (type_3)var_20[2] * 0x10000 +
                                         (type_3)*var_20 + (type_3)var_20[1] * 0x100) + var_16),
                                pcVar17,0,(char *)0x0,(char *)0x0);
            if (var_6 < 0) {
              var_15 = 0;
              if (var_8 != 0) {
                do {
                  var_25 = 5;
                  var_17 = (type_5)((type_3)var_20[2] * 0x10000 +
                                   (type_3)*var_20 + (type_3)var_20[1] * 0x100 +
                                  (type_3)var_20[3] * 0x1000000);
                  var_22 = var_35(var_17,var_16);
                  var_36 = (type_2 *)(var_17 + var_16);
                  bVar33 = var_36 == (type_2 *)0x0;
                  var_21 = var_36;
                  var_37 = (type_2 *)"__nm_";
                  do {
                    if (var_25 == 0) break;
                    var_25 = var_25 + -1;
                    var_22 = *var_21 < *var_37;
                    bVar33 = *var_21 == *var_37;
                    var_21 = var_21 + (type_5)bVar34 * -2 + 1;
                    var_37 = var_37 + (type_5)bVar34 * -2 + 1;
                  } while (bVar33);
                  if ((!var_22 && !bVar33) != var_22) {
                    sname[0] = '\0';
                    sname[1] = '\0';
                    sname[2] = '\0';
                    sname[3] = '\0';
                    var_17 = (type_5)((type_3)var_20[var_12 + (2 - var_18)] * 0x10000 +
                                     (type_3)var_20[var_12 - var_18] +
                                     (type_3)var_20[var_12 + (1 - var_18)] * 0x100 +
                                    (type_3)var_20[var_12 + (3 - var_18)] * 0x1000000);
                    if (((var_17 < var_38) || (var_9 = 1, var_39 <= var_17)) &&
                       ((var_17 < var_40 || (var_9 = 1, var_41 <= var_17)))) {
                      var_9 = (type_3)(var_17 < var_42 && var_43 <= var_17);
                    }
                    pdVar19 = var_44(var_28,(char *)var_36,pcVar17,(int)var_15,
                                                  (char *)0x0,(char *)0x0,(int *)sname);
                    if (sname._0_4_ == 0) {
                      pdVar19->data = var_9;
                    }
                    if (var_24 != 0) {
                      var_26("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",
                             pcVar17,var_36);
                    }
                  }
                  var_15 = var_15 + 1;
                  var_20 = var_20 + 4;
                } while (var_8 != var_15);
              }
            }
            else if (var_8 != 0) {
              var_21 = (type_2 *)(var_12 + var_16);
              var_12 = 0;
              do {
                var_18 = (type_5)((type_3)var_21[2] * 0x10000 +
                                 (type_3)*var_21 + (type_3)var_21[1] * 0x100 +
                                (type_3)var_21[3] * 0x1000000);
                var_46 = (int)var_12;
                name = (char *)(var_16 + ((type_3)var_20[2] * 0x10000 +
                                          (type_3)*var_20 + (type_3)var_20[1] * 0x100 +
                                         (type_3)var_20[3] * 0x1000000));
                if ((((var_18 < var_38) || (var_39 <= var_18)) &&
                    ((var_18 < var_40 || (var_41 <= var_18)))) &&
                   ((var_18 < var_43 || (var_42 <= var_18)))) {
                  pdVar19 = var_45
                                      (var_28,var_6 + var_46,name,pcVar17,var_46,(char *)0x0,
                                       (char *)0x0);
                  var_46 = var_24;
                  pdVar19->data = 0;
                }
                else {
                  pdVar19 = var_45
                                      (var_28,var_6 + var_46,name,pcVar17,var_46,(char *)0x0,
                                       (char *)0x0);
                  var_46 = var_24;
                  pdVar19->data = 1;
                }
                if (var_46 != 0) {
                  var_26("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",pcVar17
                         ,name,var_18);
                }
                var_12 = var_12 + 1;
                var_20 = var_20 + 4;
                var_21 = var_21 + 4;
              } while (var_8 != var_12);
            }
          }
          else if (var_24 != 0) {
            var_26("%s is already loaded\n",pcVar17);
          }
          return 1;
        }
      }
    }
  }
  return 0;
}


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

undefined4 MASKED(undefined8 param_1)

{
  byte bVar1;
  byte bVar2;
  byte bVar3;
  byte bVar4;
  byte bVar5;
  byte bVar6;
  byte bVar7;
  byte bVar8;
  byte bVar9;
  byte bVar10;
  int iVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  long lVar15;
  ulong uVar16;
  undefined8 uVar17;
  ulong uVar18;
  byte *pbVar19;
  long lVar20;
  ulong uVar21;
  byte *pbVar22;
  int iVar23;
  byte *pbVar24;
  ulong uVar25;
  long lVar26;
  ulong uVar27;
  byte *pbVar28;
  ulong uVar29;
  undefined1 uVar30;
  bool bVar31;
  bool bVar32;
  undefined1 uVar33;
  bool bVar34;
  byte bVar35;
  ulong local_a8;
  ulong local_a0;
  ulong local_98;
  ulong local_90;
  ulong local_88;
  ulong local_80;
  ulong local_78;
  long local_68;
  uint local_5c;
  uint local_4c;
  int local_44 [2];
  undefined1 local_3c;
  
  bVar35 = 0;
  lVar15 = bfd_openr(param_1,*DAT_002b5b90);
  if (lVar15 == 0) {
    uVar17 = dcgettext(0,"%X%P: open %s: %E\n",5);
    FUN_00129380(uVar17,param_1);
  }
  else {
    iVar11 = bfd_check_format(lVar15,1);
    if (iVar11 == 0) {
      uVar17 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);
      FUN_00129380(uVar17,param_1);
    }
    else {
      uVar12 = FUN_0014d170(lVar15,0x3c);
      iVar11 = FUN_0014d170(lVar15,uVar12 + 0x84);
      if (iVar11 != 0) {
        uVar13 = FUN_0014d170(lVar15,uVar12 + 0x88);
        uVar14 = FUN_0014d170(lVar15,uVar12 + 0x8c);
        local_88 = (ulong)uVar14;
        if (local_88 != 0) {
          uVar16 = (ulong)uVar13;
          uVar13 = FUN_0014d130(lVar15,uVar12 + 6);
          uVar18 = (ulong)uVar13;
          uVar13 = FUN_0014d130(lVar15,uVar12 + 0x14);
          lVar26 = (ulong)uVar12 + 0x18 + (ulong)uVar13;
          if (uVar18 == 0) {
            local_78 = 0;
            local_90 = 0;
            local_a0 = 0;
            local_68 = 0;
            local_80 = 1;
            local_98 = 1;
            local_a8 = 1;
          }
          else {
            uVar29 = 0;
            lVar20 = lVar26;
            do {
              iVar11 = (int)lVar20;
              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);
              uVar21 = (ulong)uVar12;
              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x10);
              uVar13 = FUN_0014d170(lVar15,iVar11 + 0x14);
              bfd_seek(lVar15,lVar20,0);
              bfd_bread(local_44,8,lVar15);
              if ((uVar21 <= uVar16) && (uVar25 = uVar12 + uVar21, uVar16 < uVar25)) {
                uVar29 = uVar25 - uVar16;
                if (uVar16 + local_88 <= uVar25) {
                  uVar29 = local_88;
                }
                local_68 = (uVar13 - uVar21) + uVar16;
                local_88 = uVar29;
                goto LAB_0015194c;
              }
              uVar29 = uVar29 + 1;
              lVar20 = lVar20 + 0x28;
            } while (uVar18 != uVar29);
            local_68 = 0;
LAB_0015194c:
            local_78 = 0;
            uVar29 = 0;
            local_80 = 1;
            local_90 = 0;
            local_98 = 1;
            local_a0 = 0;
            local_a8 = 1;
LAB_001519c1:
            do {
              iVar11 = (int)lVar26;
              uVar12 = FUN_0014d170(lVar15,iVar11 + 8);
              uVar21 = (ulong)uVar12;
              uVar12 = FUN_0014d170(lVar15,iVar11 + 0xc);
              uVar25 = (ulong)uVar12;
              uVar12 = FUN_0014d170(lVar15,iVar11 + 0x24);
              uVar30 = 0;
              uVar33 = 1;
              local_3c = 0;
              bfd_seek(lVar15,lVar26);
              bfd_bread(local_44,8,lVar15);
              lVar20 = 6;
              pbVar19 = (byte *)local_44;
              pbVar22 = (byte *)0x19f8a8;
              do {
                if (lVar20 == 0) break;
                lVar20 = lVar20 + -1;
                uVar30 = *pbVar19 < *pbVar22;
                uVar33 = *pbVar19 == *pbVar22;
                pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;
                pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;
              } while ((bool)uVar33);
              bVar31 = false;
              bVar34 = (!(bool)uVar30 && !(bool)uVar33) == (bool)uVar30;
              if (!bVar34) {
                lVar20 = 7;
                pbVar19 = (byte *)local_44;
                pbVar22 = (byte *)".rdata";
                do {
                  if (lVar20 == 0) break;
                  lVar20 = lVar20 + -1;
                  bVar31 = *pbVar19 < *pbVar22;
                  bVar34 = *pbVar19 == *pbVar22;
                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;
                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;
                } while (bVar34);
                bVar32 = false;
                bVar31 = (!bVar31 && !bVar34) == bVar31;
                if (bVar31) {
                  local_90 = uVar21 + uVar25;
                  local_98 = uVar25;
                  goto joined_r0x001519a9;
                }
                lVar20 = 5;
                pbVar19 = (byte *)local_44;
                pbVar22 = (byte *)0x19f8b4;
                do {
                  if (lVar20 == 0) break;
                  lVar20 = lVar20 + -1;
                  bVar32 = *pbVar19 < *pbVar22;
                  bVar31 = *pbVar19 == *pbVar22;
                  pbVar19 = pbVar19 + (ulong)bVar35 * -2 + 1;
                  pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;
                } while (bVar31);
                if (((!bVar32 && !bVar31) == bVar32) &&
                   (local_78 = uVar21 + uVar25, local_80 = uVar25, DAT_002b5adc != 0))
                goto LAB_00151a71;
LAB_001519af:
                uVar29 = uVar29 + 1;
                lVar26 = lVar26 + 0x28;
                if (uVar18 == uVar29) break;
                goto LAB_001519c1;
              }
              local_a0 = uVar21 + uVar25;
              local_a8 = uVar25;
joined_r0x001519a9:
              if (DAT_002b5adc == 0) goto LAB_001519af;
LAB_00151a71:
              uVar29 = uVar29 + 1;
              lVar26 = lVar26 + 0x28;
              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pep_implied_import_dll",local_44,uVar25,
                     uVar21 + uVar25,(ulong)uVar12);
            } while (uVar18 != uVar29);
          }
          lVar26 = xmalloc(local_88);
          bfd_seek(lVar15,local_68,0);
          bfd_bread(lVar26,local_88,lVar15);
          uVar16 = lVar26 - uVar16;
          if (DAT_002b5af8 == 0) {
            DAT_002b5af8 = FUN_0014aee0();
          }
          bVar1 = *(byte *)(lVar26 + 0x21);
          bVar2 = *(byte *)(lVar26 + 0x18);
          bVar3 = *(byte *)(lVar26 + 0x19);
          bVar4 = *(byte *)(lVar26 + 0x22);
          bVar5 = *(byte *)(lVar26 + 0x1a);
          bVar6 = *(byte *)(lVar26 + 0x1b);
          bVar7 = *(byte *)(lVar26 + 0x20);
          local_4c = (uint)*(byte *)(lVar26 + 0x23);
          bVar8 = *(byte *)(lVar26 + 0x1c);
          bVar9 = *(byte *)(lVar26 + 0x1d);
          bVar10 = *(byte *)(lVar26 + 0x1e);
          local_5c = (uint)*(byte *)(lVar26 + 0x1f);
          lVar15 = ((uint)*(byte *)(lVar26 + 0xe) * 0x10000 +
                    (uint)*(byte *)(lVar26 + 0xc) + (uint)*(byte *)(lVar26 + 0xd) * 0x100 +
                   (uint)*(byte *)(lVar26 + 0xf) * 0x1000000) + uVar16;
          lVar26 = FUN_0014b4e0(DAT_002b5af8,lVar15);
          if (lVar26 == 0) {
            uVar12 = (uint)bVar2 + (uint)bVar3 * 0x100 + (uint)bVar5 * 0x10000 +
                     (uint)bVar6 * 0x1000000;
            uVar18 = (ulong)uVar12;
            uVar21 = (ulong)((uint)bVar4 * 0x10000 + (uint)bVar7 + (uint)bVar1 * 0x100 +
                            local_4c * 0x1000000);
            pbVar19 = (byte *)(uVar16 + uVar21);
            uVar29 = (ulong)((uint)bVar10 * 0x10000 + (uint)bVar8 + (uint)bVar9 * 0x100 +
                            local_5c * 0x1000000);
            iVar11 = FUN_0014c9a0(DAT_002b5af8,uVar18,
                                  ((uint)pbVar19[3] * 0x1000000 +
                                  (uint)pbVar19[2] * 0x10000 +
                                  (uint)*pbVar19 + (uint)pbVar19[1] * 0x100) + uVar16,lVar15,0,0,0);
            if (iVar11 < 0) {
              uVar25 = 0;
              if (uVar12 != 0) {
                do {
                  lVar26 = 5;
                  uVar27 = (ulong)((uint)pbVar19[2] * 0x10000 +
                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +
                                  (uint)pbVar19[3] * 0x1000000);
                  bVar31 = CARRY8(uVar27,uVar16);
                  pbVar28 = (byte *)(uVar27 + uVar16);
                  bVar34 = pbVar28 == (byte *)0x0;
                  pbVar22 = pbVar28;
                  pbVar24 = (byte *)"__nm_";
                  do {
                    if (lVar26 == 0) break;
                    lVar26 = lVar26 + -1;
                    bVar31 = *pbVar22 < *pbVar24;
                    bVar34 = *pbVar22 == *pbVar24;
                    pbVar22 = pbVar22 + (ulong)bVar35 * -2 + 1;
                    pbVar24 = pbVar24 + (ulong)bVar35 * -2 + 1;
                  } while (bVar34);
                  if ((!bVar31 && !bVar34) != bVar31) {
                    local_44[0] = 0;
                    uVar27 = (ulong)((uint)pbVar19[uVar29 + (2 - uVar21)] * 0x10000 +
                                     (uint)pbVar19[uVar29 - uVar21] +
                                     (uint)pbVar19[uVar29 + (1 - uVar21)] * 0x100 +
                                    (uint)pbVar19[uVar29 + (3 - uVar21)] * 0x1000000);
                    if (((uVar27 < local_a8) || (uVar12 = 1, local_a0 <= uVar27)) &&
                       ((uVar27 < local_98 || (uVar12 = 1, local_90 <= uVar27)))) {
                      uVar12 = (uint)(uVar27 < local_78 && local_80 <= uVar27);
                    }
                    lVar26 = FUN_0014b520(DAT_002b5af8,pbVar28,lVar15,uVar25 & 0xffffffff,0,0,
                                          local_44);
                    if (local_44[0] == 0) {
                      *(uint *)(lVar26 + 0x24) = uVar12;
                    }
                    if (DAT_002b5adc != 0) {
                      printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",
                             lVar15,pbVar28);
                    }
                  }
                  uVar25 = uVar25 + 1;
                  pbVar19 = pbVar19 + 4;
                } while (uVar18 != uVar25);
              }
            }
            else if (uVar12 != 0) {
              pbVar22 = (byte *)(uVar29 + uVar16);
              uVar29 = 0;
              do {
                uVar21 = (ulong)((uint)pbVar22[2] * 0x10000 +
                                 (uint)*pbVar22 + (uint)pbVar22[1] * 0x100 +
                                (uint)pbVar22[3] * 0x1000000);
                iVar23 = iVar11 + (int)uVar29;
                lVar26 = uVar16 + ((uint)pbVar19[2] * 0x10000 +
                                   (uint)*pbVar19 + (uint)pbVar19[1] * 0x100 +
                                  (uint)pbVar19[3] * 0x1000000);
                if ((((uVar21 < local_a8) || (local_a0 <= uVar21)) &&
                    ((uVar21 < local_98 || (local_90 <= uVar21)))) &&
                   ((uVar21 < local_80 || (local_78 <= uVar21)))) {
                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);
                  iVar23 = DAT_002b5adc;
                  *(undefined4 *)(lVar20 + 0x24) = 0;
                }
                else {
                  lVar20 = FUN_0014cb40(DAT_002b5af8,iVar23,lVar26,lVar15,uVar29 & 0xffffffff,0,0);
                  iVar23 = DAT_002b5adc;
                  *(undefined4 *)(lVar20 + 0x24) = 1;
                }
                if (iVar23 != 0) {
                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pep_implied_import_dll",lVar15,
                         lVar26,uVar21);
                }
                uVar29 = uVar29 + 1;
                pbVar19 = pbVar19 + 4;
                pbVar22 = pbVar22 + 4;
              } while (uVar18 != uVar29);
            }
          }
          else if (DAT_002b5adc != 0) {
            printf("%s is already loaded\n",lVar15);
          }
          return 1;
        }
      }
    }
  }
  return 0;
}

