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

bfd_boolean pe_implied_import_dll(char *filename)

{
  int iVar1;
  byte bVar2;
  byte bVar3;
  byte bVar4;
  byte bVar5;
  uint3 uVar6;
  uint3 uVar7;
  bfd *abfd;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  def_file_module *pdVar15;
  int iVar16;
  int iVar17;
  def_file_import *pdVar18;
  char *pcVar19;
  char *pcVar20;
  char *pcVar21;
  byte *name;
  ushort *puVar22;
  byte *pbVar23;
  byte *pbVar24;
  ushort *puVar25;
  bool bVar26;
  undefined1 uVar27;
  bool bVar28;
  undefined1 uVar29;
  bool bVar30;
  byte bVar31;
  uint local_c4;
  int local_c0;
  int local_bc;
  int local_b4;
  uint local_ac;
  int local_a8;
  uint local_a4;
  int local_a0;
  uint local_98;
  uint local_8c;
  int local_88;
  uint local_80;
  uint local_7c;
  uint local_74;
  uint local_70;
  uint local_68;
  uint local_5c;
  uint local_58;
  int local_50;
  uint local_4c;
  uint local_44;
  uint local_40;
  uint local_3c;
  int local_34;
  int local_30;
  char sname [8];
  
  bVar31 = 0;
  abfd = (bfd *)bfd_openr(filename,pe_details->target_name);
  if (abfd == (bfd *)0x0) {
    pcVar21 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);
    einfo(pcVar21,filename);
    return 0;
  }
  iVar8 = bfd_check_format(abfd,1);
  if (iVar8 == 0) {
    pcVar21 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);
    einfo(pcVar21,filename);
    return 0;
  }
  uVar9 = pe_get32(abfd,0x3c);
  uVar10 = pe_get32(abfd,uVar9 + 0x74);
  if (uVar10 != 0) {
    uVar10 = pe_get32(abfd,uVar9 + 0x78);
    local_4c = pe_get32(abfd,uVar9 + 0x7c);
    local_50 = 0;
    if (local_4c != 0) {
      uVar11 = pe_get16(abfd,uVar9 + 6);
      uVar12 = pe_get16(abfd,uVar9 + 0x14);
      local_8c = uVar9 + 0x18 + uVar12;
      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);
      if (uVar11 == 0) {
        local_34 = 0;
        local_30 = 0;
        local_40 = 0;
        local_58 = 0;
        local_70 = 0;
        local_3c = 1;
        local_68 = 1;
        local_7c = 1;
        local_74 = 0;
        local_5c = 0;
        local_44 = 0;
      }
      else {
        local_b4 = local_8c + 0xc;
        local_a4 = 0;
        local_a0 = 0;
        local_ac = local_8c;
        local_a8 = local_88;
        do {
          uVar9 = pe_get32(abfd,local_b4);
          uVar12 = pe_get32(abfd,local_b4 + 4);
          uVar13 = pe_get32(abfd,local_b4 + 8);
          bfd_seek(abfd,local_ac,local_a8,0);
          bfd_bread(sname,8,0,abfd);
          if (uVar9 <= uVar10) {
            uVar14 = uVar12 + uVar9;
            uVar12 = (uint)CARRY4(uVar12,uVar9);
            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {
              local_34 = (uVar13 - uVar9) + uVar10;
              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);
              if (uVar12 < CARRY4(uVar10,local_4c) ||
                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {
                local_4c = uVar14 - uVar10;
                local_50 = uVar12 - (uVar14 < uVar10);
              }
              goto LAB_0006627d;
            }
          }
          bVar26 = 0xfffffffe < local_a4;
          local_a4 = local_a4 + 1;
          local_a0 = local_a0 + (uint)bVar26;
          local_b4 = local_b4 + 0x28;
          bVar26 = 0xffffffd7 < local_ac;
          local_ac = local_ac + 0x28;
          local_a8 = local_a8 + (uint)bVar26;
        } while (local_a0 != 0 || uVar11 != local_a4);
        local_34 = 0;
        local_30 = 0;
LAB_0006627d:
        local_44 = 0;
        local_40 = 0;
        uVar27 = 0xfffffff7 < local_8c;
        local_bc = local_8c + 8;
        uVar29 = local_bc == 0;
        local_5c = 0;
        local_3c = 1;
        local_58 = 0;
        local_68 = 1;
        local_74 = 0;
        local_70 = 0;
        local_7c = 1;
        local_c4 = 0;
        local_c0 = 0;
        do {
          uVar9 = pe_get32(abfd,local_bc);
          uVar12 = pe_get32(abfd,local_bc + 4);
          uVar13 = pe_get32(abfd,local_bc + 0x1c);
          bfd_seek(abfd,local_8c,local_88,0);
          bfd_bread(sname,8,0,abfd);
          iVar8 = 6;
          pbVar23 = (byte *)sname;
          pbVar24 = (byte *)0xaed93;
          do {
            if (iVar8 == 0) break;
            iVar8 = iVar8 + -1;
            uVar27 = *pbVar23 < *pbVar24;
            uVar29 = *pbVar23 == *pbVar24;
            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
          } while ((bool)uVar29);
          bVar26 = false;
          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;
          if (bVar30) {
            local_74 = uVar9 + uVar12;
            local_70 = (uint)CARRY4(uVar9,uVar12);
            local_7c = uVar12;
joined_r0x00066360:
            if (pe_dll_extra_pe_debug != 0) {
              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,
                     uVar9 + uVar12,uVar13);
            }
          }
          else {
            iVar8 = 7;
            pbVar23 = (byte *)sname;
            pbVar24 = (byte *)".rdata";
            do {
              if (iVar8 == 0) break;
              iVar8 = iVar8 + -1;
              bVar26 = *pbVar23 < *pbVar24;
              bVar30 = *pbVar23 == *pbVar24;
              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
            } while (bVar30);
            bVar28 = false;
            bVar26 = (!bVar26 && !bVar30) == bVar26;
            if (bVar26) {
              local_5c = uVar9 + uVar12;
              local_58 = (uint)CARRY4(uVar9,uVar12);
              local_68 = uVar12;
              goto joined_r0x00066360;
            }
            iVar8 = 5;
            pbVar23 = (byte *)sname;
            pbVar24 = (byte *)0xaed9f;
            do {
              if (iVar8 == 0) break;
              iVar8 = iVar8 + -1;
              bVar28 = *pbVar23 < *pbVar24;
              bVar26 = *pbVar23 == *pbVar24;
              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
            } while (bVar26);
            if ((!bVar28 && !bVar26) == bVar28) {
              local_44 = uVar9 + uVar12;
              local_40 = (uint)CARRY4(uVar9,uVar12);
              local_3c = uVar12;
              goto joined_r0x00066360;
            }
          }
          bVar26 = 0xfffffffe < local_c4;
          local_c4 = local_c4 + 1;
          local_c0 = local_c0 + (uint)bVar26;
          local_bc = local_bc + 0x28;
          bVar26 = 0xffffffd7 < local_8c;
          local_8c = local_8c + 0x28;
          local_88 = local_88 + (uint)bVar26;
          uVar27 = false;
          uVar29 = local_c0 == 0 && uVar11 == local_c4;
        } while (local_c0 != 0 || uVar11 != local_c4);
      }
      iVar8 = xmalloc(local_4c);
      bfd_seek(abfd,local_34,local_30,0);
      bfd_bread(iVar8,local_4c,local_50,abfd);
      uVar10 = iVar8 - uVar10;
      if (pe_def_file == (def_file *)0x0) {
        pe_def_file = def_file_empty();
      }
      bVar2 = *(byte *)(iVar8 + 0x18);
      bVar3 = *(byte *)(iVar8 + 0x19);
      bVar4 = *(byte *)(iVar8 + 0x1b);
      bVar5 = *(byte *)(iVar8 + 0x1a);
      uVar6 = *(uint3 *)(iVar8 + 0x20);
      local_80 = (uint)*(byte *)(iVar8 + 0x23);
      uVar7 = *(uint3 *)(iVar8 + 0x1c);
      local_98 = (uint)*(byte *)(iVar8 + 0x1f);
      pcVar21 = (char *)(*(int *)(iVar8 + 0xc) + uVar10);
      pdVar15 = def_get_module(pe_def_file,pcVar21);
      if (pdVar15 == (def_file_module *)0x0) {
        iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000;
        iVar16 = (uint)uVar6 + local_80 * 0x1000000;
        iVar1 = (uint)uVar7 + local_98 * 0x1000000;
        puVar22 = (ushort *)(iVar16 + uVar10);
        iVar17 = def_file_add_import_from
                           (pe_def_file,iVar8,
                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +
                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),
                            pcVar21,0,(char *)0x0,(char *)0x0);
        if (iVar17 < 0) {
          local_c4 = 0;
          if (iVar8 != 0) {
            do {
              iVar17 = 5;
              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +
                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;
              bVar26 = CARRY4(uVar9,uVar10);
              name = (byte *)(uVar9 + uVar10);
              bVar30 = name == (byte *)0x0;
              pbVar23 = name;
              pbVar24 = (byte *)"__nm_";
              do {
                if (iVar17 == 0) break;
                iVar17 = iVar17 + -1;
                bVar26 = *pbVar23 < *pbVar24;
                bVar30 = *pbVar23 == *pbVar24;
                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
              } while (bVar30);
              if ((!bVar26 && !bVar30) != bVar26) {
                sname[0] = '\0';
                sname[1] = '\0';
                sname[2] = '\0';
                sname[3] = '\0';
                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +
                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),
                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +
                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;
                if (((uVar9 < local_7c) ||
                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&
                   ((uVar9 < local_68 ||
                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {
                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&
                                 local_3c <= uVar9);
                }
                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,
                                              (char *)0x0,(int *)sname);
                if (sname._0_4_ == 0) {
                  pdVar18->data = uVar11;
                }
                if (pe_dll_extra_pe_debug != 0) {
                  pcVar20 = "(data)";
                  if (uVar11 == 0) {
                    pcVar20 = "";
                  }
                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,
                         name,uVar9,pcVar20);
                }
              }
              local_c4 = local_c4 + 1;
              puVar22 = puVar22 + 2;
            } while (iVar8 != local_c4);
          }
        }
        else if (iVar8 != 0) {
          local_c4 = 0;
          puVar25 = (ushort *)(iVar1 + uVar10);
          do {
            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +
                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;
            pcVar20 = (char *)(uVar10 + *(int *)puVar22);
            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&
                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&
               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {
              pdVar18 = def_file_add_import_at
                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,
                                   (char *)0x0,(char *)0x0);
              pdVar18->data = 0;
              if (pe_dll_extra_pe_debug != 0) {
                pcVar19 = "";
LAB_00066b30:
                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,
                       pcVar20,uVar9,pcVar19);
              }
            }
            else {
              pdVar18 = def_file_add_import_at
                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,
                                   (char *)0x0,(char *)0x0);
              iVar1 = pe_dll_extra_pe_debug;
              pdVar18->data = 1;
              pcVar19 = "(data)";
              if (iVar1 != 0) goto LAB_00066b30;
            }
            local_c4 = local_c4 + 1;
            puVar22 = puVar22 + 2;
            puVar25 = puVar25 + 2;
          } while (iVar8 != local_c4);
        }
      }
      else if (pe_dll_extra_pe_debug != 0) {
        printf("%s is already loaded\n",pcVar21);
      }
      return 1;
    }
  }
  return 0;
}



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

undefined4 FUN_00066060(undefined4 param_1)

{
  byte bVar1;
  byte bVar2;
  byte bVar3;
  byte bVar4;
  uint3 uVar5;
  uint3 uVar6;
  int iVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  undefined4 uVar15;
  int iVar16;
  int iVar17;
  char *pcVar18;
  int iVar19;
  int iVar20;
  byte *pbVar21;
  ushort *puVar22;
  byte *pbVar23;
  byte *pbVar24;
  ushort *puVar25;
  bool bVar26;
  undefined1 uVar27;
  bool bVar28;
  undefined1 uVar29;
  bool bVar30;
  byte bVar31;
  uint local_c4;
  int local_c0;
  uint local_ac;
  int local_a8;
  uint local_a4;
  int local_a0;
  uint local_98;
  uint local_8c;
  int local_88;
  uint local_80;
  uint local_7c;
  uint local_74;
  uint local_70;
  uint local_68;
  uint local_5c;
  uint local_58;
  int local_50;
  uint local_4c;
  uint local_44;
  uint local_40;
  uint local_3c;
  int local_34;
  int local_30;
  int local_28 [2];
  undefined1 local_20;
  undefined4 uStack_14;
  
  bVar31 = 0;
  uStack_14 = 0x66069;
  iVar7 = bfd_openr(param_1,*DAT_001d127c);
  if (iVar7 == 0) {
    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);
    FUN_00034d20(uVar15,param_1);
    return 0;
  }
  iVar8 = bfd_check_format(iVar7,1);
  if (iVar8 == 0) {
    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);
    FUN_00034d20(uVar15,param_1);
    return 0;
  }
  uVar9 = FUN_000619e0();
  iVar8 = FUN_000619e0();
  if (iVar8 != 0) {
    uVar10 = FUN_000619e0();
    local_4c = FUN_000619e0();
    local_50 = 0;
    if (local_4c != 0) {
      uVar11 = FUN_00061990();
      uVar12 = FUN_00061990();
      local_8c = uVar9 + 0x18 + uVar12;
      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);
      if (uVar11 == 0) {
        local_34 = 0;
        local_30 = 0;
        local_40 = 0;
        local_58 = 0;
        local_70 = 0;
        local_3c = 1;
        local_68 = 1;
        local_7c = 1;
        local_74 = 0;
        local_5c = 0;
        local_44 = 0;
      }
      else {
        local_a4 = 0;
        local_a0 = 0;
        local_ac = local_8c;
        local_a8 = local_88;
        do {
          uVar9 = FUN_000619e0();
          uVar12 = FUN_000619e0();
          uVar13 = FUN_000619e0();
          bfd_seek(iVar7,local_ac,local_a8,0);
          bfd_bread(local_28,8,0,iVar7);
          if (uVar9 <= uVar10) {
            uVar14 = uVar12 + uVar9;
            uVar12 = (uint)CARRY4(uVar12,uVar9);
            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {
              local_34 = (uVar13 - uVar9) + uVar10;
              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);
              if (uVar12 < CARRY4(uVar10,local_4c) ||
                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {
                local_4c = uVar14 - uVar10;
                local_50 = uVar12 - (uVar14 < uVar10);
              }
              goto LAB_0006627d;
            }
          }
          bVar26 = 0xfffffffe < local_a4;
          local_a4 = local_a4 + 1;
          local_a0 = local_a0 + (uint)bVar26;
          bVar26 = 0xffffffd7 < local_ac;
          local_ac = local_ac + 0x28;
          local_a8 = local_a8 + (uint)bVar26;
        } while (local_a0 != 0 || uVar11 != local_a4);
        local_34 = 0;
        local_30 = 0;
LAB_0006627d:
        local_44 = 0;
        local_40 = 0;
        uVar27 = 0xfffffff7 < local_8c;
        uVar29 = local_8c == 0xfffffff8;
        local_5c = 0;
        local_3c = 1;
        local_58 = 0;
        local_68 = 1;
        local_74 = 0;
        local_70 = 0;
        local_7c = 1;
        local_c4 = 0;
        local_c0 = 0;
        do {
          uVar9 = FUN_000619e0();
          uVar12 = FUN_000619e0();
          uVar15 = FUN_000619e0();
          local_20 = 0;
          bfd_seek(iVar7,local_8c,local_88,0);
          bfd_bread(local_28,8,0,iVar7);
          iVar8 = 6;
          pbVar23 = (byte *)local_28;
          pbVar24 = (byte *)0xaed93;
          do {
            if (iVar8 == 0) break;
            iVar8 = iVar8 + -1;
            uVar27 = *pbVar23 < *pbVar24;
            uVar29 = *pbVar23 == *pbVar24;
            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
          } while ((bool)uVar29);
          bVar26 = false;
          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;
          if (bVar30) {
            local_74 = uVar9 + uVar12;
            local_70 = (uint)CARRY4(uVar9,uVar12);
            local_7c = uVar12;
joined_r0x00066360:
            if (DAT_001d11fc != 0) {
              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,
                     uVar9 + uVar12,uVar15);
            }
          }
          else {
            iVar8 = 7;
            pbVar23 = (byte *)local_28;
            pbVar24 = (byte *)".rdata";
            do {
              if (iVar8 == 0) break;
              iVar8 = iVar8 + -1;
              bVar26 = *pbVar23 < *pbVar24;
              bVar30 = *pbVar23 == *pbVar24;
              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
            } while (bVar30);
            bVar28 = false;
            bVar26 = (!bVar26 && !bVar30) == bVar26;
            if (bVar26) {
              local_5c = uVar9 + uVar12;
              local_58 = (uint)CARRY4(uVar9,uVar12);
              local_68 = uVar12;
              goto joined_r0x00066360;
            }
            iVar8 = 5;
            pbVar23 = (byte *)local_28;
            pbVar24 = (byte *)0xaed9f;
            do {
              if (iVar8 == 0) break;
              iVar8 = iVar8 + -1;
              bVar28 = *pbVar23 < *pbVar24;
              bVar26 = *pbVar23 == *pbVar24;
              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
            } while (bVar26);
            if ((!bVar28 && !bVar26) == bVar28) {
              local_44 = uVar9 + uVar12;
              local_40 = (uint)CARRY4(uVar9,uVar12);
              local_3c = uVar12;
              goto joined_r0x00066360;
            }
          }
          bVar26 = 0xfffffffe < local_c4;
          local_c4 = local_c4 + 1;
          local_c0 = local_c0 + (uint)bVar26;
          bVar26 = 0xffffffd7 < local_8c;
          local_8c = local_8c + 0x28;
          local_88 = local_88 + (uint)bVar26;
          uVar27 = false;
          uVar29 = local_c0 == 0 && uVar11 == local_c4;
        } while (local_c0 != 0 || uVar11 != local_c4);
      }
      iVar8 = xmalloc(local_4c);
      bfd_seek(iVar7,local_34,local_30,0);
      bfd_bread(iVar8,local_4c,local_50,iVar7);
      uVar10 = iVar8 - uVar10;
      if (DAT_001d1218 == 0) {
        DAT_001d1218 = FUN_000589a0();
      }
      bVar1 = *(byte *)(iVar8 + 0x18);
      bVar2 = *(byte *)(iVar8 + 0x19);
      bVar3 = *(byte *)(iVar8 + 0x1b);
      bVar4 = *(byte *)(iVar8 + 0x1a);
      uVar5 = *(uint3 *)(iVar8 + 0x20);
      local_80 = (uint)*(byte *)(iVar8 + 0x23);
      uVar6 = *(uint3 *)(iVar8 + 0x1c);
      local_98 = (uint)*(byte *)(iVar8 + 0x1f);
      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;
      iVar7 = FUN_00059010(DAT_001d1218,iVar8);
      if (iVar7 == 0) {
        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;
        iVar16 = (uint)uVar5 + local_80 * 0x1000000;
        iVar20 = (uint)uVar6 + local_98 * 0x1000000;
        puVar22 = (ushort *)(iVar16 + uVar10);
        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,
                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +
                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0
                             );
        if (iVar17 < 0) {
          local_c4 = 0;
          if (iVar7 != 0) {
            do {
              iVar17 = 5;
              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +
                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;
              bVar26 = CARRY4(uVar9,uVar10);
              pbVar21 = (byte *)(uVar9 + uVar10);
              bVar30 = pbVar21 == (byte *)0x0;
              pbVar23 = pbVar21;
              pbVar24 = (byte *)"__nm_";
              do {
                if (iVar17 == 0) break;
                iVar17 = iVar17 + -1;
                bVar26 = *pbVar23 < *pbVar24;
                bVar30 = *pbVar23 == *pbVar24;
                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
              } while (bVar30);
              if ((!bVar26 && !bVar30) != bVar26) {
                local_28[0] = 0;
                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +
                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),
                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +
                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;
                if (((uVar9 < local_7c) ||
                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&
                   ((uVar9 < local_68 ||
                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {
                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&
                                 local_3c <= uVar9);
                }
                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);
                if (local_28[0] == 0) {
                  *(uint *)(iVar17 + 0x14) = uVar11;
                }
                if (DAT_001d11fc != 0) {
                  pcVar18 = "(data)";
                  if (uVar11 == 0) {
                    pcVar18 = "";
                  }
                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,
                         pbVar21,uVar9,pcVar18);
                }
              }
              local_c4 = local_c4 + 1;
              puVar22 = puVar22 + 2;
            } while (iVar7 != local_c4);
          }
        }
        else if (iVar7 != 0) {
          local_c4 = 0;
          puVar25 = (ushort *)(iVar20 + uVar10);
          do {
            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +
                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;
            iVar20 = uVar10 + *(int *)puVar22;
            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&
                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&
               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {
              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);
              *(undefined4 *)(iVar16 + 0x14) = 0;
              if (DAT_001d11fc != 0) {
                pcVar18 = "";
LAB_00066b30:
                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,
                       iVar20,uVar9,pcVar18);
              }
            }
            else {
              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);
              iVar16 = DAT_001d11fc;
              *(undefined4 *)(iVar19 + 0x14) = 1;
              pcVar18 = "(data)";
              if (iVar16 != 0) goto LAB_00066b30;
            }
            local_c4 = local_c4 + 1;
            puVar22 = puVar22 + 2;
            puVar25 = puVar25 + 2;
          } while (iVar7 != local_c4);
        }
      }
      else if (DAT_001d11fc != 0) {
        printf("%s is already loaded\n",iVar8);
      }
      return 1;
    }
  }
  return 0;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00017b80
ADD EBX,0x168f97
SUB ESP,0xc4
MOV ESI,dword ptr [ESP + 0xd8]
MOV EAX,dword ptr [EBX + 0x227c]
PUSH dword ptr [EAX]
PUSH ESI
CALL 0x000162b0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00066560
SUB ESP,0x8
MOV EBP,EAX
PUSH 0x1
PUSH EAX
CALL 0x00016ba0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x000664b0
MOV EDX,0x3c
MOV EAX,EBP
CALL 0x000619e0
MOV EDI,EAX
LEA EDX,[EAX + 0x74]
MOV EAX,EBP
CALL 0x000619e0
TEST EAX,EAX
JNZ 0x000660e0
ADD ESP,0xbc
XOR EDI,EDI
POP EBX
MOV EAX,EDI
POP ESI
POP EDI
POP EBP
RET
LEA EDX,[EDI + 0x78]
MOV EAX,EBP
CALL 0x000619e0
LEA EDX,[EDI + 0x7c]
MOV dword ptr [ESP + 0x68],EAX
MOV EAX,EBP
CALL 0x000619e0
MOV dword ptr [ESP + 0x7c],0x0
MOV dword ptr [ESP + 0x80],EAX
MOV dword ptr [ESP + 0x78],EAX
TEST EAX,EAX
JZ 0x000660cb
LEA EDX,[EDI + 0x6]
MOV EAX,EBP
CALL 0x00061990
LEA EDX,[EDI + 0x14]
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x38],EAX
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,EBP
CALL 0x00061990
XOR EDX,EDX
MOV ESI,EAX
MOV EAX,EDI
ADD EAX,0x18
ADC EDX,0x0
XOR EDI,EDI
MOV ECX,EDX
MOV EDX,EAX
ADD EDX,ESI
ADC ECX,EDI
MOV dword ptr [ESP + 0x40],EDX
MOV EDI,ECX
MOV dword ptr [ESP + 0x44],ECX
MOV ECX,dword ptr [ESP + 0x8]
TEST ECX,ECX
JZ 0x000665a8
MOV EAX,dword ptr [ESP + 0x68]
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x4c],EDX
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,EDX
ADD EAX,0xc
MOV dword ptr [ESP + 0x28],0x0
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[ESP + 0xa4]
MOV dword ptr [ESP + 0x2c],0x0
MOV dword ptr [ESP + 0x30],EAX
MOV dword ptr [ESP + 0x20],EDX
MOV dword ptr [ESP + 0x24],EDI
NOP
MOV ESI,dword ptr [ESP + 0x18]
MOV EAX,EBP
MOV EDX,ESI
CALL 0x000619e0
LEA EDX,[ESI + 0x4]
MOV dword ptr [ESP + 0x14],0x0
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x34],EAX
MOV EAX,EBP
CALL 0x000619e0
LEA EDX,[ESI + 0x8]
MOV EDI,EAX
MOV EAX,EBP
CALL 0x000619e0
MOV dword ptr [ESP + 0x48],EAX
PUSH 0x0
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x28]
PUSH EBP
CALL 0x00016da0
PUSH EBP
PUSH 0x0
PUSH 0x8
PUSH dword ptr [ESP + 0x4c]
CALL 0x00016c60
ADD ESP,0x20
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [ESP + 0x34]
MOV ESI,EDX
CMP EAX,ECX
SBB ESI,dword ptr [ESP + 0x14]
JC 0x0006622e
MOV EAX,EDI
MOV ESI,dword ptr [ESP + 0x8]
MOV EDI,dword ptr [ESP + 0xc]
XOR EDX,EDX
ADD EAX,dword ptr [ESP + 0x10]
ADC EDX,dword ptr [ESP + 0x14]
CMP ESI,EAX
MOV ESI,EDI
SBB ESI,EDX
JC 0x00066730
ADD dword ptr [ESP + 0x28],0x1
MOV ESI,dword ptr [ESP + 0x38]
ADC dword ptr [ESP + 0x2c],0x0
MOV EDI,dword ptr [ESP + 0x3c]
MOV ECX,dword ptr [ESP + 0x2c]
MOV EDX,dword ptr [ESP + 0x28]
MOV EAX,ESI
ADD dword ptr [ESP + 0x18],0x28
ADD dword ptr [ESP + 0x20],0x28
ADC dword ptr [ESP + 0x24],0x0
XOR EDI,ECX
XOR EAX,EDX
MOV EDX,EDI
OR EDX,EAX
JNZ 0x000661a0
MOV dword ptr [ESP + 0x98],0x0
MOV dword ptr [ESP + 0x9c],0x0
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESP + 0x88],0x0
MOV dword ptr [ESP + 0x8c],0x0
ADD EAX,0x8
MOV dword ptr [ESP + 0x70],0x0
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0xffedfd93]
MOV dword ptr [ESP + 0x4c],EAX
LEA EAX,[EBX + 0xfffc4ea7]
MOV dword ptr [ESP + 0x60],EAX
LEA EAX,[EBX + 0xffedfd9f]
MOV dword ptr [ESP + 0x90],0x1
MOV dword ptr [ESP + 0x94],0x0
MOV dword ptr [ESP + 0x74],0x0
MOV dword ptr [ESP + 0x64],0x1
MOV dword ptr [ESP + 0x6c],0x0
MOV dword ptr [ESP + 0x58],0x0
MOV dword ptr [ESP + 0x5c],0x0
MOV dword ptr [ESP + 0x50],0x1
MOV dword ptr [ESP + 0x54],0x0
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x84],EAX
JMP 0x0006639f
MOV EAX,dword ptr [ESP + 0x20]
ADD EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x54],0x0
MOV ESI,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x24]
MOV dword ptr [ESP + 0x58],EAX
MOV EAX,dword ptr [EBX + 0x21fc]
ADC EDX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x5c],EDX
MOV dword ptr [ESP + 0x50],ESI
TEST EAX,EAX
JNZ 0x00066590
MOV EDX,dword ptr [ESP + 0x38]
MOV ECX,dword ptr [ESP + 0x3c]
ADD dword ptr [ESP + 0x8],0x1
MOV ESI,dword ptr [ESP + 0x8]
ADC dword ptr [ESP + 0xc],0x0
MOV EDI,dword ptr [ESP + 0xc]
MOV EAX,EDX
MOV EDX,ECX
ADD dword ptr [ESP + 0x10],0x28
ADD dword ptr [ESP + 0x40],0x28
ADC dword ptr [ESP + 0x44],0x0
XOR EAX,ESI
XOR EDX,EDI
OR EDX,EAX
JZ 0x00066620
MOV EDI,dword ptr [ESP + 0x10]
MOV EAX,EBP
MOV EDX,EDI
CALL 0x000619e0
LEA EDX,[EDI + 0x4]
MOV dword ptr [ESP + 0x24],0x0
MOV dword ptr [ESP + 0x34],EAX
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,EBP
CALL 0x000619e0
LEA EDX,[EDI + 0x1c]
MOV dword ptr [ESP + 0x2c],0x0
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,EBP
CALL 0x000619e0
MOV byte ptr [ESP + 0xac],0x0
MOV dword ptr [ESP + 0x48],EAX
PUSH 0x0
PUSH dword ptr [ESP + 0x48]
PUSH dword ptr [ESP + 0x48]
PUSH EBP
CALL 0x00016da0
PUSH EBP
PUSH 0x0
PUSH 0x8
MOV EDI,dword ptr [ESP + 0x4c]
PUSH EDI
MOV ESI,EDI
CALL 0x00016c60
MOV EDI,dword ptr [ESP + 0x6c]
MOV ECX,0x6
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
ADD ESP,0x20
TEST AL,AL
JZ 0x00066330
MOV ESI,dword ptr [ESP + 0x30]
MOV EDI,dword ptr [ESP + 0x60]
MOV ECX,0x7
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x000664e0
MOV EAX,dword ptr [ESP + 0x20]
ADD EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x6c],0x0
MOV dword ptr [ESP + 0x70],EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x24]
ADC EDX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x64],EAX
MOV EAX,dword ptr [EBX + 0x21fc]
MOV dword ptr [ESP + 0x74],EDX
TEST EAX,EAX
JZ 0x00066366
SUB ESP,0x8
PUSH dword ptr [ESP + 0x50]
MOV EAX,dword ptr [ESP + 0x40]
MOV ECX,dword ptr [ESP + 0x70]
ADD EAX,ECX
PUSH EAX
PUSH ECX
LEA EAX,[EBX + 0xfffdf6a0]
PUSH dword ptr [ESP + 0x44]
PUSH EAX
LEA EAX,[EBX + 0xfffdf33c]
PUSH EAX
CALL 0x00016110
ADD ESP,0x20
JMP 0x00066366
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdf310]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016310
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00034d20
ADD ESP,0x10
MOV EAX,EDI
ADD ESP,0xbc
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV ESI,dword ptr [ESP + 0x30]
MOV EDI,dword ptr [ESP + 0x84]
MOV ECX,0x5
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x00066366
MOV EAX,dword ptr [ESP + 0x20]
ADD EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x94],0x0
MOV dword ptr [ESP + 0x88],EAX
MOV EDI,dword ptr [EBX + 0x21fc]
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x24]
ADC EDX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x8c],EDX
MOV dword ptr [ESP + 0x90],EAX
TEST EDI,EDI
JZ 0x00066366
SUB ESP,0x8
PUSH dword ptr [ESP + 0x50]
MOV EAX,dword ptr [ESP + 0x40]
MOV ESI,dword ptr [ESP + 0x9c]
ADD EAX,ESI
PUSH EAX
PUSH ESI
JMP 0x0006648d
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdecdc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016310
POP EDI
POP EBP
PUSH ESI
PUSH EAX
XOR EDI,EDI
CALL 0x00034d20
ADD ESP,0x10
MOV EAX,EDI
ADD ESP,0xbc
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
PUSH dword ptr [ESP + 0x50]
MOV EAX,dword ptr [ESP + 0x40]
MOV ECX,dword ptr [ESP + 0x5c]
ADD EAX,ECX
PUSH EAX
PUSH ECX
JMP 0x0006648d
MOV EAX,dword ptr [ESP + 0x38]
MOV EDX,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x98],0x0
MOV dword ptr [ESP + 0x9c],0x0
MOV dword ptr [ESP + 0x88],EAX
MOV dword ptr [ESP + 0x8c],EDX
MOV dword ptr [ESP + 0x70],EAX
MOV dword ptr [ESP + 0x74],EDX
MOV dword ptr [ESP + 0x58],EAX
MOV dword ptr [ESP + 0x5c],EDX
MOV dword ptr [ESP + 0x90],0x1
MOV dword ptr [ESP + 0x94],0x0
MOV dword ptr [ESP + 0x64],0x1
MOV dword ptr [ESP + 0x6c],0x0
MOV dword ptr [ESP + 0x50],0x1
MOV dword ptr [ESP + 0x54],0x0
LEA ESI,[ESI]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x8c]
CALL 0x00016dc8
PUSH 0x0
PUSH dword ptr [ESP + 0xb0]
MOV ESI,EAX
PUSH dword ptr [ESP + 0xb0]
PUSH EBP
CALL 0x00016da0
ADD ESP,0x20
PUSH EBP
PUSH dword ptr [ESP + 0x80]
PUSH dword ptr [ESP + 0x80]
PUSH ESI
CALL 0x00016c60
MOV EAX,ESI
SUB EAX,dword ptr [ESP + 0x78]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [EBX + 0x2218]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00066a58
MOVZX ECX,byte ptr [ESI + 0x18]
MOVZX EDX,byte ptr [ESI + 0xc]
SUB ESP,0x8
MOVZX EDI,byte ptr [ESI + 0x19]
MOVZX EBP,byte ptr [ESI + 0x1b]
MOV byte ptr [ESP + 0x28],CL
MOVZX ECX,byte ptr [ESI + 0x1a]
MOV byte ptr [ESP + 0x68],CL
MOVZX ECX,byte ptr [ESI + 0x20]
MOV byte ptr [ESP + 0x40],CL
MOVZX ECX,byte ptr [ESI + 0x21]
MOV byte ptr [ESP + 0x48],CL
MOVZX ECX,byte ptr [ESI + 0x22]
MOV byte ptr [ESP + 0x50],CL
MOVZX ECX,byte ptr [ESI + 0x23]
MOV byte ptr [ESP + 0x54],CL
MOVZX ECX,byte ptr [ESI + 0x1c]
MOV byte ptr [ESP + 0x10],CL
MOVZX ECX,byte ptr [ESI + 0x1d]
MOV byte ptr [ESP + 0x20],CL
MOVZX ECX,byte ptr [ESI + 0x1e]
MOV byte ptr [ESP + 0x30],CL
MOVZX ECX,byte ptr [ESI + 0x1f]
MOV byte ptr [ESP + 0x3c],CL
MOVZX ECX,byte ptr [ESI + 0xd]
SHL ECX,0x8
ADD ECX,EDX
MOVZX EDX,byte ptr [ESI + 0xe]
SHL EDX,0x10
ADD ECX,EDX
MOVZX EDX,byte ptr [ESI + 0xf]
SHL EDX,0x18
ADD EDX,ECX
ADD EDX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x38],EDX
PUSH EDX
PUSH EAX
CALL 0x00059010
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000667b0
MOV ESI,dword ptr [EBX + 0x21fc]
TEST ESI,ESI
JNZ 0x00066a38
ADD ESP,0xbc
MOV EDI,0x1
POP EBX
MOV EAX,EDI
POP ESI
POP EDI
POP EBP
RET
XOR EDI,EDI
MOV ESI,dword ptr [ESP + 0x48]
SUB ESI,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x18],EAX
SBB EDI,dword ptr [ESP + 0x14]
MOV EAX,ESI
MOV ESI,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x1c],EDX
MOV EDX,EDI
MOV EDI,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [ESP + 0x1c]
ADD EAX,ESI
ADC EDX,EDI
ADD ESI,dword ptr [ESP + 0x78]
ADC EDI,dword ptr [ESP + 0x7c]
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x14],EDX
MOV EDX,dword ptr [ESP + 0x18]
MOV EAX,ECX
CMP EDX,ESI
SBB EAX,EDI
JNC 0x00066791
MOV EAX,EDX
MOV EDX,ECX
SUB EAX,dword ptr [ESP + 0x8]
SBB EDX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x78],EAX
MOV dword ptr [ESP + 0x7c],EDX
MOV dword ptr [ESP + 0x80],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x98],EAX
MOV dword ptr [ESP + 0x9c],EDX
JMP 0x0006627d
MOV EAX,EDI
SHL EBP,0x18
SUB ESP,0x4
MOVZX EDI,AL
MOVZX EAX,byte ptr [ESP + 0x24]
SHL EDI,0x8
LEA EDX,[EDI + EAX*0x1]
MOVZX EAX,byte ptr [ESP + 0x64]
SHL EAX,0x10
ADD EAX,EDX
MOVZX EDX,byte ptr [ESP + 0x3c]
LEA EDI,[EAX + EBP*0x1]
MOVZX EAX,byte ptr [ESP + 0x44]
MOV dword ptr [ESP + 0x24],EDI
SHL EAX,0x8
ADD EDX,EAX
MOVZX EAX,byte ptr [ESP + 0x4c]
SHL EAX,0x10
ADD EAX,EDX
MOV EDX,dword ptr [ESP + 0x50]
SHL EDX,0x18
ADD EAX,EDX
MOVZX EDX,byte ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x3c],EAX
MOVZX EAX,byte ptr [ESP + 0x1c]
MOV EBP,dword ptr [ESP + 0x3c]
SHL EAX,0x8
ADD EDX,EAX
MOVZX EAX,byte ptr [ESP + 0x2c]
SHL EAX,0x10
ADD EAX,EDX
MOV EDX,dword ptr [ESP + 0x38]
SHL EDX,0x18
LEA ESI,[EAX + EDX*0x1]
MOV dword ptr [ESP + 0x44],ESI
MOV ESI,dword ptr [ESP + 0x14]
PUSH 0x0
ADD EBP,ESI
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x40]
MOVZX EDX,byte ptr [EBP + 0x1]
MOVZX ECX,byte ptr [EBP]
MOVZX EAX,byte ptr [EBP + 0x2]
SHL EDX,0x8
ADD ECX,EDX
SHL EAX,0x10
LEA EDX,[ECX + EAX*0x1]
MOVZX EAX,byte ptr [EBP + 0x3]
SHL EAX,0x18
ADD EAX,EDX
ADD EAX,ESI
PUSH EAX
PUSH EDI
PUSH dword ptr [EBX + 0x2218]
CALL 0x0005a380
MOV dword ptr [ESP + 0x54],EAX
ADD ESP,0x20
TEST EAX,EAX
JNS 0x00066a70
LEA EAX,[EBX + 0xfffdeaed]
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0x34],EAX
LEA EAX,[ESP + 0xa4]
MOV dword ptr [ESP + 0x48],EAX
LEA EAX,[EBX + 0xfffdeb9b]
MOV dword ptr [ESP + 0x4c],EAX
TEST EDI,EDI
JZ 0x0006671c
LEA ESI,[ESI]
MOVZX EAX,byte ptr [EBP + 0x1]
MOVZX ECX,byte ptr [EBP]
MOVZX EDX,byte ptr [EBP + 0x2]
MOV EDI,dword ptr [ESP + 0x34]
SHL EAX,0x8
ADD ECX,EAX
SHL EDX,0x10
LEA EAX,[ECX + EDX*0x1]
MOVZX EDX,byte ptr [EBP + 0x3]
MOV ECX,0x5
SHL EDX,0x18
ADD EDX,EAX
ADD EDX,dword ptr [ESP + 0x10]
MOV ESI,EDX
MOV dword ptr [ESP + 0x18],EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00066a16
MOV EDX,dword ptr [ESP + 0x40]
MOV EDI,EBP
SUB EDI,dword ptr [ESP + 0x38]
MOV dword ptr [ESP + 0xa4],0x0
MOVZX EAX,byte ptr [EDI + EDX*0x1 + 0x1]
MOVZX ECX,byte ptr [EDI + EDX*0x1]
MOVZX ESI,byte ptr [EDI + EDX*0x1 + 0x2]
SHL EAX,0x8
SHL ESI,0x10
ADD ECX,EAX
LEA EAX,[ECX + ESI*0x1]
MOVZX ESI,byte ptr [EDI + EDX*0x1 + 0x3]
XOR EDX,EDX
MOV dword ptr [ESP + 0x2c],EDX
SHL ESI,0x18
ADD ESI,EAX
MOV EAX,EDX
CMP ESI,dword ptr [ESP + 0x50]
SBB EAX,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x28],ESI
JC 0x0006694f
MOV EAX,dword ptr [ESP + 0x58]
MOV EDX,dword ptr [ESP + 0x5c]
MOV EDI,0x1
MOV ECX,dword ptr [ESP + 0x2c]
CMP ESI,EAX
SBB ECX,EDX
JC 0x000669a9
CMP ESI,dword ptr [ESP + 0x64]
MOV EAX,dword ptr [ESP + 0x2c]
SBB EAX,dword ptr [ESP + 0x6c]
JC 0x00066974
MOV EAX,dword ptr [ESP + 0x70]
MOV EDX,dword ptr [ESP + 0x74]
MOV EDI,0x1
MOV ECX,dword ptr [ESP + 0x2c]
CMP ESI,EAX
SBB ECX,EDX
JC 0x000669a9
MOV EDX,dword ptr [ESP + 0x88]
MOV EAX,dword ptr [ESP + 0x2c]
MOV ECX,dword ptr [ESP + 0x8c]
MOV EDI,dword ptr [ESP + 0x2c]
CMP ESI,dword ptr [ESP + 0x90]
SBB EAX,dword ptr [ESP + 0x94]
SETNC AL
CMP ESI,EDX
SBB EDI,ECX
SETC CL
MOVZX ECX,CL
AND ECX,EAX
MOV EDI,ECX
SUB ESP,0x4
PUSH dword ptr [ESP + 0x4c]
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x44]
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [EBX + 0x2218]
CALL 0x00059050
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0xa4]
TEST EDX,EDX
JNZ 0x000669dc
MOV dword ptr [EAX + 0x14],EDI
MOV ECX,dword ptr [EBX + 0x21fc]
TEST ECX,ECX
JZ 0x00066a16
TEST EDI,EDI
LEA EAX,[EBX + 0xfffdecd5]
CMOVZ EAX,dword ptr [ESP + 0x4c]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffdf6a0]
PUSH ESI
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x44]
PUSH EAX
LEA EAX,[EBX + 0xfffdf360]
PUSH EAX
CALL 0x00016110
ADD ESP,0x20
ADD dword ptr [ESP + 0x8],0x1
ADD EBP,0x4
MOV EAX,dword ptr [ESP + 0x8]
CMP dword ptr [ESP + 0x20],EAX
JNZ 0x000668a8
JMP 0x0006671c
SUB ESP,0x8
LEA EAX,[EBX + 0xfffdecef]
PUSH dword ptr [ESP + 0x38]
PUSH EAX
CALL 0x00016110
ADD ESP,0x10
JMP 0x0006671c
CALL 0x000589a0
MOV dword ptr [EBX + 0x2218],EAX
JMP 0x0006667a
MOV ECX,dword ptr [ESP + 0x20]
TEST ECX,ECX
JZ 0x0006671c
LEA EAX,[EBX + 0xfffdecd5]
MOV EDI,dword ptr [ESP + 0x40]
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0x40],EAX
LEA EAX,[EBX + 0xfffdf6a0]
ADD EDI,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x38],EAX
JMP 0x00066b66
CMP ESI,dword ptr [ESP + 0x64]
MOV EAX,dword ptr [ESP + 0x1c]
SBB EAX,dword ptr [ESP + 0x6c]
JC 0x00066ac8
CMP ESI,dword ptr [ESP + 0x70]
MOV EAX,dword ptr [ESP + 0x1c]
SBB EAX,dword ptr [ESP + 0x74]
JC 0x00066bec
CMP ESI,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [ESP + 0x1c]
SBB EAX,dword ptr [ESP + 0x94]
JC 0x00066af4
CMP ESI,dword ptr [ESP + 0x88]
MOV EAX,dword ptr [ESP + 0x1c]
SBB EAX,dword ptr [ESP + 0x8c]
JC 0x00066bec
SUB ESP,0x4
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [ESP + 0x40]
PUSH ECX
MOV dword ptr [ESP + 0x30],ECX
PUSH EDX
PUSH dword ptr [ESP + 0x44]
CALL 0x0005a520
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x18]
MOV dword ptr [EAX + 0x14],0x0
MOV EAX,dword ptr [EBX + 0x21fc]
TEST EAX,EAX
JZ 0x00066b4d
LEA EAX,[EBX + 0xfffdeb9b]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffdf360]
PUSH ESI
PUSH ECX
PUSH dword ptr [ESP + 0x44]
PUSH dword ptr [ESP + 0x50]
PUSH EAX
CALL 0x00016110
ADD ESP,0x20
ADD dword ptr [ESP + 0x8],0x1
ADD EBP,0x4
MOV EAX,dword ptr [ESP + 0x8]
ADD EDI,0x4
CMP dword ptr [ESP + 0x20],EAX
JZ 0x0006671c
MOVZX EAX,byte ptr [EDI + 0x1]
MOVZX ECX,byte ptr [EDI]
MOV dword ptr [ESP + 0x1c],0x0
MOVZX ESI,byte ptr [EDI + 0x2]
MOV EDX,dword ptr [ESP + 0x8]
SHL EAX,0x8
ADD EDX,dword ptr [ESP + 0x34]
ADD ECX,EAX
SHL ESI,0x10
LEA EAX,[ECX + ESI*0x1]
MOVZX ESI,byte ptr [EDI + 0x3]
MOVZX ECX,byte ptr [EBP]
SHL ESI,0x18
ADD ESI,EAX
MOVZX EAX,byte ptr [EBP + 0x1]
MOV dword ptr [ESP + 0x18],ESI
SHL EAX,0x8
ADD ECX,EAX
MOVZX EAX,byte ptr [EBP + 0x2]
SHL EAX,0x10
ADD EAX,ECX
MOVZX ECX,byte ptr [EBP + 0x3]
SHL ECX,0x18
ADD EAX,ECX
MOV ECX,dword ptr [ESP + 0x10]
ADD ECX,EAX
MOV EAX,dword ptr [EBX + 0x2218]
CMP ESI,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [ESP + 0x1c]
SBB EAX,dword ptr [ESP + 0x54]
JC 0x00066aa8
CMP ESI,dword ptr [ESP + 0x58]
MOV EAX,dword ptr [ESP + 0x1c]
SBB EAX,dword ptr [ESP + 0x5c]
JNC 0x00066aa8
SUB ESP,0x4
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [ESP + 0x40]
PUSH ECX
MOV dword ptr [ESP + 0x30],ECX
PUSH EDX
PUSH dword ptr [ESP + 0x44]
CALL 0x0005a520
MOV EDX,dword ptr [EBX + 0x21fc]
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x18]
MOV dword ptr [EAX + 0x14],0x1
TEST EDX,EDX
JZ 0x00066b4d
MOV EAX,dword ptr [ESP + 0x40]
JMP 0x00066b30
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00066060(undefined4 param_1)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  uint3 uVar5;\n  uint3 uVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int iVar19;\n  int iVar20;\n  byte *pbVar21;\n  ushort *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  ushort *puVar25;\n  bool bVar26;\n  undefined1 uVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  uint local_c4;\n  int local_c0;\n  uint local_ac;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  uint local_98;\n  uint local_8c;\n  int local_88;\n  uint local_80;\n  uint local_7c;\n  uint local_74;\n  uint local_70;\n  uint local_68;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  uint local_4c;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  int local_34;\n  int local_30;\n  int local_28 [2];\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  bVar31 = 0;\n  uStack_14 = 0x66069;\n  iVar7 = bfd_openr(param_1,*DAT_001d127c);\n  if (iVar7 == 0) {\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  iVar8 = bfd_check_format(iVar7,1);\n  if (iVar8 == 0) {\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  uVar9 = FUN_000619e0();\n  iVar8 = FUN_000619e0();\n  if (iVar8 != 0) {\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }\n  }\n  return 0;\n}\n\n" comment (function_definition "undefined4 FUN_00066060(undefined4 param_1)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  uint3 uVar5;\n  uint3 uVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int iVar19;\n  int iVar20;\n  byte *pbVar21;\n  ushort *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  ushort *puVar25;\n  bool bVar26;\n  undefined1 uVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  uint local_c4;\n  int local_c0;\n  uint local_ac;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  uint local_98;\n  uint local_8c;\n  int local_88;\n  uint local_80;\n  uint local_7c;\n  uint local_74;\n  uint local_70;\n  uint local_68;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  uint local_4c;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  int local_34;\n  int local_30;\n  int local_28 [2];\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  bVar31 = 0;\n  uStack_14 = 0x66069;\n  iVar7 = bfd_openr(param_1,*DAT_001d127c);\n  if (iVar7 == 0) {\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  iVar8 = bfd_check_format(iVar7,1);\n  if (iVar8 == 0) {\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  uVar9 = FUN_000619e0();\n  iVar8 = FUN_000619e0();\n  if (iVar8 != 0) {\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_00066060(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  uint3 uVar5;\n  uint3 uVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int iVar19;\n  int iVar20;\n  byte *pbVar21;\n  ushort *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  ushort *puVar25;\n  bool bVar26;\n  undefined1 uVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  uint local_c4;\n  int local_c0;\n  uint local_ac;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  uint local_98;\n  uint local_8c;\n  int local_88;\n  uint local_80;\n  uint local_7c;\n  uint local_74;\n  uint local_70;\n  uint local_68;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  uint local_4c;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  int local_34;\n  int local_30;\n  int local_28 [2];\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  bVar31 = 0;\n  uStack_14 = 0x66069;\n  iVar7 = bfd_openr(param_1,*DAT_001d127c);\n  if (iVar7 == 0) {\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  iVar8 = bfd_check_format(iVar7,1);\n  if (iVar8 == 0) {\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  uVar9 = FUN_000619e0();\n  iVar8 = FUN_000619e0();\n  if (iVar8 != 0) {\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\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 "uint3 uVar5;" type_identifier identifier ;) (declaration "uint3 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "ushort *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "ushort *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "undefined1 uVar27;" type_identifier identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "undefined1 uVar29;" type_identifier identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "byte bVar31;" type_identifier identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "int local_a0;" primitive_type identifier ;) (declaration "uint local_98;" type_identifier identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_28 [2];" primitive_type (array_declarator "local_28 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar31 = 0;" (assignment_expression "bVar31 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x66069;" (assignment_expression "uStack_14 = 0x66069" identifier = number_literal) ;) (expression_statement "iVar7 = bfd_openr(param_1,*DAT_001d127c);" (assignment_expression "iVar7 = bfd_openr(param_1,*DAT_001d127c)" identifier = (call_expression "bfd_openr(param_1,*DAT_001d127c)" identifier (argument_list "(param_1,*DAT_001d127c)" ( identifier , (pointer_expression "*DAT_001d127c" * identifier) )))) ;) (if_statement "if (iVar7 == 0) {\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" { (expression_statement "uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);" (assignment_expression "uVar15 = 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_00034d20(uVar15,param_1);" (call_expression "FUN_00034d20(uVar15,param_1)" identifier (argument_list "(uVar15,param_1)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar8 = bfd_check_format(iVar7,1);" (assignment_expression "iVar8 = bfd_check_format(iVar7,1)" identifier = (call_expression "bfd_check_format(iVar7,1)" identifier (argument_list "(iVar7,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" { (expression_statement "uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);" (assignment_expression "uVar15 = 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_00034d20(uVar15,param_1);" (call_expression "FUN_00034d20(uVar15,param_1)" identifier (argument_list "(uVar15,param_1)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar9 = FUN_000619e0();" (assignment_expression "uVar9 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar8 = FUN_000619e0();" (assignment_expression "iVar8 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 != 0) {\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }\n  }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }\n  }" { (expression_statement "uVar10 = FUN_000619e0();" (assignment_expression "uVar10 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_4c = FUN_000619e0();" (assignment_expression "local_4c = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (if_statement "if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }" if (parenthesized_expression "(local_4c != 0)" ( (binary_expression "local_4c != 0" identifier != number_literal) )) (compound_statement "{\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }" { (expression_statement "uVar11 = FUN_00061990();" (assignment_expression "uVar11 = FUN_00061990()" identifier = (call_expression "FUN_00061990()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = FUN_00061990();" (assignment_expression "uVar12 = FUN_00061990()" identifier = (call_expression "FUN_00061990()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_8c = uVar9 + 0x18 + uVar12;" (assignment_expression "local_8c = uVar9 + 0x18 + uVar12" identifier = (binary_expression "uVar9 + 0x18 + uVar12" (binary_expression "uVar9 + 0x18" identifier + number_literal) + identifier)) ;) (expression_statement "local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);" (assignment_expression "local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12)" identifier = (binary_expression "(uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12)" (call_expression "(uint)(0xffffffe7 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffffe7 < uVar9)" ( (binary_expression "0xffffffe7 < uVar9" number_literal < identifier) ))) + (cast_expression "(uint)CARRY4(uVar9 + 0x18,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9 + 0x18,uVar12)" identifier (argument_list "(uVar9 + 0x18,uVar12)" ( (binary_expression "uVar9 + 0x18" identifier + number_literal) , identifier )))))) ;) (if_statement "if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }" { (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;) (expression_statement "local_68 = 1;" (assignment_expression "local_68 = 1" identifier = number_literal) ;) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" else (compound_statement "{\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" { (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_ac = local_8c;" (assignment_expression "local_ac = local_8c" identifier = identifier) ;) (expression_statement "local_a8 = local_88;" (assignment_expression "local_a8 = local_88" identifier = identifier) ;) (do_statement "do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);" do (compound_statement "{\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        }" { (expression_statement "uVar9 = FUN_000619e0();" (assignment_expression "uVar9 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = FUN_000619e0();" (assignment_expression "uVar12 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar13 = FUN_000619e0();" (assignment_expression "uVar13 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bfd_seek(iVar7,local_ac,local_a8,0);" (call_expression "bfd_seek(iVar7,local_ac,local_a8,0)" identifier (argument_list "(iVar7,local_ac,local_a8,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(local_28,8,0,iVar7);" (call_expression "bfd_bread(local_28,8,0,iVar7)" identifier (argument_list "(local_28,8,0,iVar7)" ( identifier , number_literal , number_literal , identifier ))) ;) (if_statement "if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }" if (parenthesized_expression "(uVar9 <= uVar10)" ( (binary_expression "uVar9 <= uVar10" identifier <= identifier) )) (compound_statement "{\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }" { (expression_statement "uVar14 = uVar12 + uVar9;" (assignment_expression "uVar14 = uVar12 + uVar9" identifier = (binary_expression "uVar12 + uVar9" identifier + identifier)) ;) (expression_statement "uVar12 = (uint)CARRY4(uVar12,uVar9);" (assignment_expression "uVar12 = (uint)CARRY4(uVar12,uVar9)" identifier = (cast_expression "(uint)CARRY4(uVar12,uVar9)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,uVar9)" identifier (argument_list "(uVar12,uVar9)" ( identifier , identifier ))))) ;) (if_statement "if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }" if (parenthesized_expression "(uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14))" ( (binary_expression "uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)" (binary_expression "uVar12 != 0" identifier != number_literal) || (binary_expression "-uVar12 < (uint)(uVar10 < uVar14)" (unary_expression "-uVar12" - identifier) < (call_expression "(uint)(uVar10 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 < uVar14)" ( (binary_expression "uVar10 < uVar14" identifier < identifier) ))))) )) (compound_statement "{\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }" { (expression_statement "local_34 = (uVar13 - uVar9) + uVar10;" (assignment_expression "local_34 = (uVar13 - uVar9) + uVar10" identifier = (binary_expression "(uVar13 - uVar9) + uVar10" (parenthesized_expression "(uVar13 - uVar9)" ( (binary_expression "uVar13 - uVar9" identifier - identifier) )) + identifier)) ;) (expression_statement "local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);" (assignment_expression "local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9)" identifier = (binary_expression "(uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9)" (cast_expression "(uint)CARRY4(uVar13 - uVar9,uVar10)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar13 - uVar9,uVar10)" identifier (argument_list "(uVar13 - uVar9,uVar10)" ( (binary_expression "uVar13 - uVar9" identifier - identifier) , identifier )))) - (call_expression "(uint)(uVar13 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar9)" ( (binary_expression "uVar13 < uVar9" identifier < identifier) ))))) ;) (if_statement "if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }" if (parenthesized_expression "(uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c))" ( (binary_expression "uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)" (binary_expression "uVar12 < CARRY4(uVar10,local_4c)" identifier < (call_expression "CARRY4(uVar10,local_4c)" identifier (argument_list "(uVar10,local_4c)" ( identifier , identifier )))) || (binary_expression "uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)" (binary_expression "uVar12 - CARRY4(uVar10,local_4c)" identifier - (call_expression "CARRY4(uVar10,local_4c)" identifier (argument_list "(uVar10,local_4c)" ( identifier , identifier )))) < (call_expression "(uint)(uVar14 < uVar10 + local_4c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar10 + local_4c)" ( (binary_expression "uVar14 < uVar10 + local_4c" identifier < (binary_expression "uVar10 + local_4c" identifier + identifier)) ))))) )) (compound_statement "{\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }" { (expression_statement "local_4c = uVar14 - uVar10;" (assignment_expression "local_4c = uVar14 - uVar10" identifier = (binary_expression "uVar14 - uVar10" identifier - identifier)) ;) (expression_statement "local_50 = uVar12 - (uVar14 < uVar10);" (assignment_expression "local_50 = uVar12 - (uVar14 < uVar10)" identifier = (binary_expression "uVar12 - (uVar14 < uVar10)" identifier - (parenthesized_expression "(uVar14 < uVar10)" ( (binary_expression "uVar14 < uVar10" identifier < identifier) )))) ;) })) (goto_statement "goto LAB_0006627d;" goto statement_identifier ;) })) })) (expression_statement "bVar26 = 0xfffffffe < local_a4;" (assignment_expression "bVar26 = 0xfffffffe < local_a4" identifier = (binary_expression "0xfffffffe < local_a4" number_literal < identifier)) ;) (expression_statement "local_a4 = local_a4 + 1;" (assignment_expression "local_a4 = local_a4 + 1" identifier = (binary_expression "local_a4 + 1" identifier + number_literal)) ;) (expression_statement "local_a0 = local_a0 + (uint)bVar26;" (assignment_expression "local_a0 = local_a0 + (uint)bVar26" identifier = (binary_expression "local_a0 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar26 = 0xffffffd7 < local_ac;" (assignment_expression "bVar26 = 0xffffffd7 < local_ac" identifier = (binary_expression "0xffffffd7 < local_ac" number_literal < identifier)) ;) (expression_statement "local_ac = local_ac + 0x28;" (assignment_expression "local_ac = local_ac + 0x28" identifier = (binary_expression "local_ac + 0x28" identifier + number_literal)) ;) (expression_statement "local_a8 = local_a8 + (uint)bVar26;" (assignment_expression "local_a8 = local_a8 + (uint)bVar26" identifier = (binary_expression "local_a8 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_a0 != 0 || uVar11 != local_a4)" ( (binary_expression "local_a0 != 0 || uVar11 != local_a4" (binary_expression "local_a0 != 0" identifier != number_literal) || (binary_expression "uVar11 != local_a4" identifier != identifier)) )) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0006627d:\n        local_44 = 0;" statement_identifier : (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;)) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "uVar27 = 0xfffffff7 < local_8c;" (assignment_expression "uVar27 = 0xfffffff7 < local_8c" identifier = (binary_expression "0xfffffff7 < local_8c" number_literal < identifier)) ;) (expression_statement "uVar29 = local_8c == 0xfffffff8;" (assignment_expression "uVar29 = local_8c == 0xfffffff8" identifier = (binary_expression "local_8c == 0xfffffff8" identifier == number_literal)) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 1;" (assignment_expression "local_68 = 1" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);" do (compound_statement "{\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        }" { (expression_statement "uVar9 = FUN_000619e0();" (assignment_expression "uVar9 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = FUN_000619e0();" (assignment_expression "uVar12 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar15 = FUN_000619e0();" (assignment_expression "uVar15 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "bfd_seek(iVar7,local_8c,local_88,0);" (call_expression "bfd_seek(iVar7,local_8c,local_88,0)" identifier (argument_list "(iVar7,local_8c,local_88,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(local_28,8,0,iVar7);" (call_expression "bfd_bread(local_28,8,0,iVar7)" identifier (argument_list "(local_28,8,0,iVar7)" ( identifier , number_literal , number_literal , identifier ))) ;) (expression_statement "iVar8 = 6;" (assignment_expression "iVar8 = 6" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)local_28;" (assignment_expression "pbVar23 = (byte *)local_28" identifier = (cast_expression "(byte *)local_28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar24 = (byte *)0xaed93;" (assignment_expression "pbVar24 = (byte *)0xaed93" identifier = (cast_expression "(byte *)0xaed93" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);" do (compound_statement "{\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "uVar27 = *pbVar23 < *pbVar24;" (assignment_expression "uVar27 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "uVar29 = *pbVar23 == *pbVar24;" (assignment_expression "uVar29 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar29)" ( (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;" (assignment_expression "bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27" identifier = (binary_expression "(!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27" (parenthesized_expression "(!(bool)uVar27 && !(bool)uVar29)" ( (binary_expression "!(bool)uVar27 && !(bool)uVar29" (unary_expression "!(bool)uVar27" ! (cast_expression "(bool)uVar27" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar27" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }" { (expression_statement "local_74 = uVar9 + uVar12;" (assignment_expression "local_74 = uVar9 + uVar12" identifier = (binary_expression "uVar9 + uVar12" identifier + identifier)) ;) (expression_statement "local_70 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_70 = (uint)CARRY4(uVar9,uVar12)" identifier = (cast_expression "(uint)CARRY4(uVar9,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier ))))) ;) (expression_statement "local_7c = uVar12;" (assignment_expression "local_7c = uVar12" identifier = identifier) ;) (labeled_statement "joined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }" statement_identifier : (if_statement "if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }" if (parenthesized_expression "(DAT_001d11fc != 0)" ( (binary_expression "DAT_001d11fc != 0" identifier != number_literal) )) (compound_statement "{\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }" { (expression_statement "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);" (call_expression "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15)" identifier (argument_list "("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15)" ( (string_literal ""%s %s: 0x%08lx-0x%08lx (0x%08lx)\n"" " string_content escape_sequence ") , (string_literal ""pe_implied_import_dll"" " string_content ") , identifier , identifier , (binary_expression "uVar9 + uVar12" identifier + identifier) , identifier ))) ;) }))) }) (else_clause "else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" else (compound_statement "{\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" { (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)local_28;" (assignment_expression "pbVar23 = (byte *)local_28" identifier = (cast_expression "(byte *)local_28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar24 = (byte *)".rdata";" (assignment_expression "pbVar24 = (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 (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);" do (compound_statement "{\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar23 < *pbVar24;" (assignment_expression "bVar26 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar30 = *pbVar23 == *pbVar24;" (assignment_expression "bVar30 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar26 && !bVar30) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar30) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar30) == bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" ( (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar30" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }" { (expression_statement "local_5c = uVar9 + uVar12;" (assignment_expression "local_5c = uVar9 + uVar12" identifier = (binary_expression "uVar9 + uVar12" identifier + identifier)) ;) (expression_statement "local_58 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_58 = (uint)CARRY4(uVar9,uVar12)" identifier = (cast_expression "(uint)CARRY4(uVar9,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier ))))) ;) (expression_statement "local_68 = uVar12;" (assignment_expression "local_68 = uVar12" identifier = identifier) ;) (goto_statement "goto joined_r0x00066360;" goto statement_identifier ;) })) (expression_statement "iVar8 = 5;" (assignment_expression "iVar8 = 5" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)local_28;" (assignment_expression "pbVar23 = (byte *)local_28" identifier = (cast_expression "(byte *)local_28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar24 = (byte *)0xaed9f;" (assignment_expression "pbVar24 = (byte *)0xaed9f" identifier = (cast_expression "(byte *)0xaed9f" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);" do (compound_statement "{\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar23 < *pbVar24;" (assignment_expression "bVar28 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar26 = *pbVar23 == *pbVar24;" (assignment_expression "bVar26 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (if_statement "if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }" if (parenthesized_expression "((!bVar28 && !bVar26) == bVar28)" ( (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier) )) (compound_statement "{\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }" { (expression_statement "local_44 = uVar9 + uVar12;" (assignment_expression "local_44 = uVar9 + uVar12" identifier = (binary_expression "uVar9 + uVar12" identifier + identifier)) ;) (expression_statement "local_40 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_40 = (uint)CARRY4(uVar9,uVar12)" identifier = (cast_expression "(uint)CARRY4(uVar9,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier ))))) ;) (expression_statement "local_3c = uVar12;" (assignment_expression "local_3c = uVar12" identifier = identifier) ;) (goto_statement "goto joined_r0x00066360;" goto statement_identifier ;) })) }))) (expression_statement "bVar26 = 0xfffffffe < local_c4;" (assignment_expression "bVar26 = 0xfffffffe < local_c4" identifier = (binary_expression "0xfffffffe < local_c4" number_literal < identifier)) ;) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" identifier = (binary_expression "local_c4 + 1" identifier + number_literal)) ;) (expression_statement "local_c0 = local_c0 + (uint)bVar26;" (assignment_expression "local_c0 = local_c0 + (uint)bVar26" identifier = (binary_expression "local_c0 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar26 = 0xffffffd7 < local_8c;" (assignment_expression "bVar26 = 0xffffffd7 < local_8c" identifier = (binary_expression "0xffffffd7 < local_8c" number_literal < identifier)) ;) (expression_statement "local_8c = local_8c + 0x28;" (assignment_expression "local_8c = local_8c + 0x28" identifier = (binary_expression "local_8c + 0x28" identifier + number_literal)) ;) (expression_statement "local_88 = local_88 + (uint)bVar26;" (assignment_expression "local_88 = local_88 + (uint)bVar26" identifier = (binary_expression "local_88 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar27 = false;" (assignment_expression "uVar27 = false" identifier = false) ;) (expression_statement "uVar29 = local_c0 == 0 && uVar11 == local_c4;" (assignment_expression "uVar29 = local_c0 == 0 && uVar11 == local_c4" identifier = (binary_expression "local_c0 == 0 && uVar11 == local_c4" (binary_expression "local_c0 == 0" identifier == number_literal) && (binary_expression "uVar11 == local_c4" identifier == identifier))) ;) }) while (parenthesized_expression "(local_c0 != 0 || uVar11 != local_c4)" ( (binary_expression "local_c0 != 0 || uVar11 != local_c4" (binary_expression "local_c0 != 0" identifier != number_literal) || (binary_expression "uVar11 != local_c4" identifier != identifier)) )) ;) }))) (expression_statement "iVar8 = xmalloc(local_4c);" (assignment_expression "iVar8 = xmalloc(local_4c)" identifier = (call_expression "xmalloc(local_4c)" identifier (argument_list "(local_4c)" ( identifier )))) ;) (expression_statement "bfd_seek(iVar7,local_34,local_30,0);" (call_expression "bfd_seek(iVar7,local_34,local_30,0)" identifier (argument_list "(iVar7,local_34,local_30,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(iVar8,local_4c,local_50,iVar7);" (call_expression "bfd_bread(iVar8,local_4c,local_50,iVar7)" identifier (argument_list "(iVar8,local_4c,local_50,iVar7)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar10 = iVar8 - uVar10;" (assignment_expression "uVar10 = iVar8 - uVar10" identifier = (binary_expression "iVar8 - uVar10" identifier - identifier)) ;) (if_statement "if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }" if (parenthesized_expression "(DAT_001d1218 == 0)" ( (binary_expression "DAT_001d1218 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_001d1218 = FUN_000589a0();\n      }" { (expression_statement "DAT_001d1218 = FUN_000589a0();" (assignment_expression "DAT_001d1218 = FUN_000589a0()" identifier = (call_expression "FUN_000589a0()" identifier (argument_list "()" ( )))) ;) })) (expression_statement "bVar1 = *(byte *)(iVar8 + 0x18);" (assignment_expression "bVar1 = *(byte *)(iVar8 + 0x18)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x18)" * (cast_expression "(byte *)(iVar8 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = *(byte *)(iVar8 + 0x19);" (assignment_expression "bVar2 = *(byte *)(iVar8 + 0x19)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x19)" * (cast_expression "(byte *)(iVar8 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x19)" ( (binary_expression "iVar8 + 0x19" identifier + number_literal) ))))) ;) (expression_statement "bVar3 = *(byte *)(iVar8 + 0x1b);" (assignment_expression "bVar3 = *(byte *)(iVar8 + 0x1b)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x1b)" * (cast_expression "(byte *)(iVar8 + 0x1b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1b)" ( (binary_expression "iVar8 + 0x1b" identifier + number_literal) ))))) ;) (expression_statement "bVar4 = *(byte *)(iVar8 + 0x1a);" (assignment_expression "bVar4 = *(byte *)(iVar8 + 0x1a)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x1a)" * (cast_expression "(byte *)(iVar8 + 0x1a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1a)" ( (binary_expression "iVar8 + 0x1a" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint3 *)(iVar8 + 0x20);" (assignment_expression "uVar5 = *(uint3 *)(iVar8 + 0x20)" identifier = (pointer_expression "*(uint3 *)(iVar8 + 0x20)" * (cast_expression "(uint3 *)(iVar8 + 0x20)" ( (type_descriptor "uint3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x20)" ( (binary_expression "iVar8 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_80 = (uint)*(byte *)(iVar8 + 0x23);" (assignment_expression "local_80 = (uint)*(byte *)(iVar8 + 0x23)" identifier = (binary_expression "(uint)*(byte *)(iVar8 + 0x23)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar8 + 0x23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x23)" ( (binary_expression "iVar8 + 0x23" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint3 *)(iVar8 + 0x1c);" (assignment_expression "uVar6 = *(uint3 *)(iVar8 + 0x1c)" identifier = (pointer_expression "*(uint3 *)(iVar8 + 0x1c)" * (cast_expression "(uint3 *)(iVar8 + 0x1c)" ( (type_descriptor "uint3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_98 = (uint)*(byte *)(iVar8 + 0x1f);" (assignment_expression "local_98 = (uint)*(byte *)(iVar8 + 0x1f)" identifier = (binary_expression "(uint)*(byte *)(iVar8 + 0x1f)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar8 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1f)" ( (binary_expression "iVar8 + 0x1f" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(iVar8 + 0xc) + uVar10;" (assignment_expression "iVar8 = *(int *)(iVar8 + 0xc) + uVar10" identifier = (binary_expression "*(int *)(iVar8 + 0xc) + uVar10" (pointer_expression "*(int *)(iVar8 + 0xc)" * (cast_expression "(int *)(iVar8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar7 = FUN_00059010(DAT_001d1218,iVar8);" (assignment_expression "iVar7 = FUN_00059010(DAT_001d1218,iVar8)" identifier = (call_expression "FUN_00059010(DAT_001d1218,iVar8)" identifier (argument_list "(DAT_001d1218,iVar8)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }" { (expression_statement "iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;" (assignment_expression "iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000" identifier = (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100" (binary_expression "(uint)bVar4 * 0x10000" (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (binary_expression "(uint)bVar2 * 0x100" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)bVar3 * 0x1000000" (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal))) ;) (expression_statement "iVar16 = (uint)uVar5 + local_80 * 0x1000000;" (assignment_expression "iVar16 = (uint)uVar5 + local_80 * 0x1000000" identifier = (binary_expression "(uint)uVar5 + local_80 * 0x1000000" (cast_expression "(uint)uVar5" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "local_80 * 0x1000000" identifier * number_literal))) ;) (expression_statement "iVar20 = (uint)uVar6 + local_98 * 0x1000000;" (assignment_expression "iVar20 = (uint)uVar6 + local_98 * 0x1000000" identifier = (binary_expression "(uint)uVar6 + local_98 * 0x1000000" (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "local_98 * 0x1000000" identifier * number_literal))) ;) (expression_statement "puVar22 = (ushort *)(iVar16 + uVar10);" (assignment_expression "puVar22 = (ushort *)(iVar16 + uVar10)" identifier = (cast_expression "(ushort *)(iVar16 + uVar10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + uVar10)" ( (binary_expression "iVar16 + uVar10" identifier + identifier) )))) ;) (expression_statement "iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );" (assignment_expression "iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             )" identifier = (call_expression "FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             )" identifier (argument_list "(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             )" ( identifier , identifier , (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + 3)" ( (binary_expression "(int)puVar22 + 3" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*puVar22" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)(byte)puVar22[1] * 0x10000" (cast_expression "(uint)(byte)puVar22[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar22[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar22[1]" identifier [ number_literal ]))) * number_literal)) + identifier) , identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }" { (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (if_statement "if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }" { (do_statement "do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);" do (compound_statement "{\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            }" { (expression_statement "iVar17 = 5;" (assignment_expression "iVar17 = 5" identifier = number_literal) ;) (expression_statement "uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" identifier = (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + 3)" ( (binary_expression "(int)puVar22 + 3" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*puVar22" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)(byte)puVar22[1] * 0x10000" (cast_expression "(uint)(byte)puVar22[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar22[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar22[1]" identifier [ number_literal ]))) * number_literal))) ;) (expression_statement "bVar26 = CARRY4(uVar9,uVar10);" (assignment_expression "bVar26 = CARRY4(uVar9,uVar10)" identifier = (call_expression "CARRY4(uVar9,uVar10)" identifier (argument_list "(uVar9,uVar10)" ( identifier , identifier )))) ;) (expression_statement "pbVar21 = (byte *)(uVar9 + uVar10);" (assignment_expression "pbVar21 = (byte *)(uVar9 + uVar10)" identifier = (cast_expression "(byte *)(uVar9 + uVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 + uVar10)" ( (binary_expression "uVar9 + uVar10" identifier + identifier) )))) ;) (expression_statement "bVar30 = pbVar21 == (byte *)0x0;" (assignment_expression "bVar30 = pbVar21 == (byte *)0x0" identifier = (binary_expression "pbVar21 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar23 = pbVar21;" (assignment_expression "pbVar23 = pbVar21" 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 (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);" do (compound_statement "{\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar23 < *pbVar24;" (assignment_expression "bVar26 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar30 = *pbVar23 == *pbVar24;" (assignment_expression "bVar30 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (if_statement "if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }" if (parenthesized_expression "((!bVar26 && !bVar30) != bVar26)" ( (binary_expression "(!bVar26 && !bVar30) != bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" ( (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar30" ! identifier)) )) != identifier) )) (compound_statement "{\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }" { (expression_statement "local_28[0] = 0;" (assignment_expression "local_28[0] = 0" (subscript_expression "local_28[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000" identifier = (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16))" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + iVar20 + (3 - iVar16))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + iVar20 + (3 - iVar16))" ( (binary_expression "(int)puVar22 + iVar20 + (3 - iVar16)" (binary_expression "(int)puVar22 + iVar20" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (parenthesized_expression "(3 - iVar16)" ( (binary_expression "3 - iVar16" number_literal - identifier) ))) )))) * number_literal) + (cast_expression "(uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" identifier (argument_list "(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" ( (pointer_expression "*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16))" * (cast_expression "(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + iVar20 + (1 - iVar16))" ( (binary_expression "(int)puVar22 + iVar20 + (1 - iVar16)" (binary_expression "(int)puVar22 + iVar20" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (parenthesized_expression "(1 - iVar16)" ( (binary_expression "1 - iVar16" number_literal - identifier) ))) )))) , (pointer_expression "*(undefined1 *)((int)puVar22 + (iVar20 - iVar16))" * (cast_expression "(undefined1 *)((int)puVar22 + (iVar20 - iVar16))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + (iVar20 - iVar16))" ( (binary_expression "(int)puVar22 + (iVar20 - iVar16)" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(iVar20 - iVar16)" ( (binary_expression "iVar20 - iVar16" identifier - identifier) ))) )))) ))))) + (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16))" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + iVar20 + (2 - iVar16))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + iVar20 + (2 - iVar16))" ( (binary_expression "(int)puVar22 + iVar20 + (2 - iVar16)" (binary_expression "(int)puVar22 + iVar20" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (parenthesized_expression "(2 - iVar16)" ( (binary_expression "2 - iVar16" number_literal - identifier) ))) )))) * number_literal))) ;) (if_statement "if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }" if (parenthesized_expression "(((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))))" ( (binary_expression "((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" (parenthesized_expression "((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70))" ( (binary_expression "(uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" (parenthesized_expression "(uVar9 < local_7c)" ( (binary_expression "uVar9 < local_7c" identifier < identifier) )) || (parenthesized_expression "(uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" ( (comma_expression "uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (assignment_expression "uVar11 = 1" identifier = number_literal) , (binary_expression "local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (binary_expression "local_70 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_74) <= -local_70" (call_expression "(uint)(uVar9 < local_74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_74)" ( (binary_expression "uVar9 < local_74" identifier < identifier) ))) <= (unary_expression "-local_70" - identifier)))) ))) )) && (parenthesized_expression "((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" ( (parenthesized_expression "(uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))" ( (binary_expression "uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" (binary_expression "uVar9 < local_68" identifier < identifier) || (parenthesized_expression "(uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" ( (comma_expression "uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (assignment_expression "uVar11 = 1" identifier = number_literal) , (binary_expression "local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (binary_expression "local_58 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_5c) <= -local_58" (call_expression "(uint)(uVar9 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_5c)" ( (binary_expression "uVar9 < local_5c" identifier < identifier) ))) <= (unary_expression "-local_58" - identifier)))) ))) )) ))) )) (compound_statement "{\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }" { (expression_statement "uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);" (assignment_expression "uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" identifier = (call_expression "(uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" ( (binary_expression "(local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9" (parenthesized_expression "(local_40 != 0 || -local_40 < (uint)(uVar9 < local_44))" ( (binary_expression "local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)" (binary_expression "local_40 != 0" identifier != number_literal) || (binary_expression "-local_40 < (uint)(uVar9 < local_44)" (unary_expression "-local_40" - identifier) < (call_expression "(uint)(uVar9 < local_44)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_44)" ( (binary_expression "uVar9 < local_44" identifier < identifier) ))))) )) && (binary_expression "local_3c <= uVar9" identifier <= identifier)) )))) ;) })) (expression_statement "iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);" (assignment_expression "iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28)" identifier = (call_expression "FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28)" identifier (argument_list "(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28)" ( identifier , identifier , identifier , identifier , number_literal , number_literal , identifier )))) ;) (if_statement "if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }" if (parenthesized_expression "(local_28[0] == 0)" ( (binary_expression "local_28[0] == 0" (subscript_expression "local_28[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }" { (expression_statement "*(uint *)(iVar17 + 0x14) = uVar11;" (assignment_expression "*(uint *)(iVar17 + 0x14) = uVar11" (pointer_expression "*(uint *)(iVar17 + 0x14)" * (cast_expression "(uint *)(iVar17 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }" if (parenthesized_expression "(DAT_001d11fc != 0)" ( (binary_expression "DAT_001d11fc != 0" identifier != number_literal) )) (compound_statement "{\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }" { (expression_statement "pcVar18 = "(data)";" (assignment_expression "pcVar18 = "(data)"" identifier = (string_literal ""(data)"" " string_content ")) ;) (if_statement "if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar18 = "";\n                  }" { (expression_statement "pcVar18 = "";" (assignment_expression "pcVar18 = """ identifier = (string_literal """" " ")) ;) })) (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pe_implied_import_dll"" " string_content ") , identifier , identifier , identifier , identifier ))) ;) })) })) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" identifier = (binary_expression "local_c4 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 2;" (assignment_expression "puVar22 = puVar22 + 2" identifier = (binary_expression "puVar22 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 != local_c4)" ( (binary_expression "iVar7 != local_c4" identifier != identifier) )) ;) })) }) (else_clause "else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" else (if_statement "if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" { (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "puVar25 = (ushort *)(iVar20 + uVar10);" (assignment_expression "puVar25 = (ushort *)(iVar20 + uVar10)" identifier = (cast_expression "(ushort *)(iVar20 + uVar10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + uVar10)" ( (binary_expression "iVar20 + uVar10" identifier + identifier) )))) ;) (do_statement "do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);" do (compound_statement "{\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          }" { (expression_statement "uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000" identifier = (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25" (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar25 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar25 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 3)" ( (binary_expression "(int)puVar25 + 3" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*puVar25" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)(byte)puVar25[1] * 0x10000" (cast_expression "(uint)(byte)puVar25[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar25[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar25[1]" identifier [ number_literal ]))) * number_literal))) ;) (expression_statement "iVar20 = uVar10 + *(int *)puVar22;" (assignment_expression "iVar20 = uVar10 + *(int *)puVar22" identifier = (binary_expression "uVar10 + *(int *)puVar22" identifier + (pointer_expression "*(int *)puVar22" * (cast_expression "(int *)puVar22" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (if_statement "if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }" if (parenthesized_expression "((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40))))" ( (binary_expression "(((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))" (parenthesized_expression "(((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))))" ( (binary_expression "((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" (parenthesized_expression "((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70))" ( (binary_expression "(uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" (parenthesized_expression "(uVar9 < local_7c)" ( (binary_expression "uVar9 < local_7c" identifier < identifier) )) || (parenthesized_expression "(local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" ( (binary_expression "local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (binary_expression "local_70 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_74) <= -local_70" (call_expression "(uint)(uVar9 < local_74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_74)" ( (binary_expression "uVar9 < local_74" identifier < identifier) ))) <= (unary_expression "-local_70" - identifier))) ))) )) && (parenthesized_expression "((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" ( (parenthesized_expression "(uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))" ( (binary_expression "uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" (binary_expression "uVar9 < local_68" identifier < identifier) || (parenthesized_expression "(local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" ( (binary_expression "local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (binary_expression "local_58 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_5c) <= -local_58" (call_expression "(uint)(uVar9 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_5c)" ( (binary_expression "uVar9 < local_5c" identifier < identifier) ))) <= (unary_expression "-local_58" - identifier))) ))) )) ))) )) && (parenthesized_expression "((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))" ( (parenthesized_expression "(uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40))" ( (binary_expression "uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)" (binary_expression "uVar9 < local_3c" identifier < identifier) || (parenthesized_expression "(local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)" ( (binary_expression "local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40" (binary_expression "local_40 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_44) <= -local_40" (call_expression "(uint)(uVar9 < local_44)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_44)" ( (binary_expression "uVar9 < local_44" identifier < identifier) ))) <= (unary_expression "-local_40" - identifier))) ))) )) ))) )) (compound_statement "{\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }" { (expression_statement "iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);" (assignment_expression "iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" identifier = (call_expression "FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" identifier (argument_list "(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" ( identifier , (binary_expression "local_c4 + iVar17" identifier + identifier) , identifier , identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar16 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar16 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar16 + 0x14)" * (cast_expression "(undefined4 *)(iVar16 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }" if (parenthesized_expression "(DAT_001d11fc != 0)" ( (binary_expression "DAT_001d11fc != 0" identifier != number_literal) )) (compound_statement "{\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }" { (expression_statement "pcVar18 = "";" (assignment_expression "pcVar18 = """ identifier = (string_literal """" " ")) ;) (labeled_statement "LAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);" statement_identifier : (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pe_implied_import_dll"" " string_content ") , identifier , identifier , identifier , identifier ))) ;)) })) }) (else_clause "else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }" else (compound_statement "{\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }" { (expression_statement "iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);" (assignment_expression "iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" identifier = (call_expression "FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" identifier (argument_list "(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" ( identifier , (binary_expression "local_c4 + iVar17" identifier + identifier) , identifier , identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar16 = DAT_001d11fc;" (assignment_expression "iVar16 = DAT_001d11fc" identifier = identifier) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 1;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 1" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" * (cast_expression "(undefined4 *)(iVar19 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar18 = "(data)";" (assignment_expression "pcVar18 = "(data)"" identifier = (string_literal ""(data)"" " string_content ")) ;) (if_statement "if (iVar16 != 0) goto LAB_00066b30;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00066b30;" goto statement_identifier ;)) }))) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" identifier = (binary_expression "local_c4 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 2;" (assignment_expression "puVar22 = puVar22 + 2" identifier = (binary_expression "puVar22 + 2" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar25 + 2;" (assignment_expression "puVar25 = puVar25 + 2" identifier = (binary_expression "puVar25 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 != local_c4)" ( (binary_expression "iVar7 != local_c4" identifier != identifier) )) ;) })))) }) (else_clause "else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }" else (if_statement "if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }" if (parenthesized_expression "(DAT_001d11fc != 0)" ( (binary_expression "DAT_001d11fc != 0" identifier != number_literal) )) (compound_statement "{\n        printf("%s is already loaded\n",iVar8);\n      }" { (expression_statement "printf("%s is already loaded\n",iVar8);" (call_expression "printf("%s is already loaded\n",iVar8)" identifier (argument_list "("%s is already loaded\n",iVar8)" ( (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 "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nbfd_boolean pe_implied_import_dll(char *filename)\n\n{\n  int iVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  uint3 uVar6;\n  uint3 uVar7;\n  bfd *abfd;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  def_file_module *pdVar15;\n  int iVar16;\n  int iVar17;\n  def_file_import *pdVar18;\n  char *pcVar19;\n  char *pcVar20;\n  char *pcVar21;\n  byte *name;\n  ushort *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  ushort *puVar25;\n  bool bVar26;\n  undefined1 uVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  uint local_c4;\n  int local_c0;\n  int local_bc;\n  int local_b4;\n  uint local_ac;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  uint local_98;\n  uint local_8c;\n  int local_88;\n  uint local_80;\n  uint local_7c;\n  uint local_74;\n  uint local_70;\n  uint local_68;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  uint local_4c;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  int local_34;\n  int local_30;\n  char sname [8];\n  \n  bVar31 = 0;\n  abfd = (bfd *)bfd_openr(filename,pe_details->target_name);\n  if (abfd == (bfd *)0x0) {\n    pcVar21 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);\n    einfo(pcVar21,filename);\n    return 0;\n  }\n  iVar8 = bfd_check_format(abfd,1);\n  if (iVar8 == 0) {\n    pcVar21 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    einfo(pcVar21,filename);\n    return 0;\n  }\n  uVar9 = pe_get32(abfd,0x3c);\n  uVar10 = pe_get32(abfd,uVar9 + 0x74);\n  if (uVar10 != 0) {\n    uVar10 = pe_get32(abfd,uVar9 + 0x78);\n    local_4c = pe_get32(abfd,uVar9 + 0x7c);\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = pe_get16(abfd,uVar9 + 6);\n      uVar12 = pe_get16(abfd,uVar9 + 0x14);\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_b4 = local_8c + 0xc;\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        local_bc = local_8c + 8;\n        uVar29 = local_bc == 0;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(abfd,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,abfd);\n      uVar10 = iVar8 - uVar10;\n      if (pe_def_file == (def_file *)0x0) {\n        pe_def_file = def_file_empty();\n      }\n      bVar2 = *(byte *)(iVar8 + 0x18);\n      bVar3 = *(byte *)(iVar8 + 0x19);\n      bVar4 = *(byte *)(iVar8 + 0x1b);\n      bVar5 = *(byte *)(iVar8 + 0x1a);\n      uVar6 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar7 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      pcVar21 = (char *)(*(int *)(iVar8 + 0xc) + uVar10);\n      pdVar15 = def_get_module(pe_def_file,pcVar21);\n      if (pdVar15 == (def_file_module *)0x0) {\n        iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000;\n        iVar16 = (uint)uVar6 + local_80 * 0x1000000;\n        iVar1 = (uint)uVar7 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0);\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }\n        }\n        else if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }\n      }\n      else if (pe_dll_extra_pe_debug != 0) {\n        printf("%s is already loaded\n",pcVar21);\n      }\n      return 1;\n    }\n  }\n  return 0;\n}\n\n" comment comment (function_definition "bfd_boolean pe_implied_import_dll(char *filename)\n\n{\n  int iVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  uint3 uVar6;\n  uint3 uVar7;\n  bfd *abfd;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  def_file_module *pdVar15;\n  int iVar16;\n  int iVar17;\n  def_file_import *pdVar18;\n  char *pcVar19;\n  char *pcVar20;\n  char *pcVar21;\n  byte *name;\n  ushort *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  ushort *puVar25;\n  bool bVar26;\n  undefined1 uVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  uint local_c4;\n  int local_c0;\n  int local_bc;\n  int local_b4;\n  uint local_ac;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  uint local_98;\n  uint local_8c;\n  int local_88;\n  uint local_80;\n  uint local_7c;\n  uint local_74;\n  uint local_70;\n  uint local_68;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  uint local_4c;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  int local_34;\n  int local_30;\n  char sname [8];\n  \n  bVar31 = 0;\n  abfd = (bfd *)bfd_openr(filename,pe_details->target_name);\n  if (abfd == (bfd *)0x0) {\n    pcVar21 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);\n    einfo(pcVar21,filename);\n    return 0;\n  }\n  iVar8 = bfd_check_format(abfd,1);\n  if (iVar8 == 0) {\n    pcVar21 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    einfo(pcVar21,filename);\n    return 0;\n  }\n  uVar9 = pe_get32(abfd,0x3c);\n  uVar10 = pe_get32(abfd,uVar9 + 0x74);\n  if (uVar10 != 0) {\n    uVar10 = pe_get32(abfd,uVar9 + 0x78);\n    local_4c = pe_get32(abfd,uVar9 + 0x7c);\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = pe_get16(abfd,uVar9 + 6);\n      uVar12 = pe_get16(abfd,uVar9 + 0x14);\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_b4 = local_8c + 0xc;\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        local_bc = local_8c + 8;\n        uVar29 = local_bc == 0;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(abfd,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,abfd);\n      uVar10 = iVar8 - uVar10;\n      if (pe_def_file == (def_file *)0x0) {\n        pe_def_file = def_file_empty();\n      }\n      bVar2 = *(byte *)(iVar8 + 0x18);\n      bVar3 = *(byte *)(iVar8 + 0x19);\n      bVar4 = *(byte *)(iVar8 + 0x1b);\n      bVar5 = *(byte *)(iVar8 + 0x1a);\n      uVar6 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar7 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      pcVar21 = (char *)(*(int *)(iVar8 + 0xc) + uVar10);\n      pdVar15 = def_get_module(pe_def_file,pcVar21);\n      if (pdVar15 == (def_file_module *)0x0) {\n        iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000;\n        iVar16 = (uint)uVar6 + local_80 * 0x1000000;\n        iVar1 = (uint)uVar7 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0);\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }\n        }\n        else if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }\n      }\n      else if (pe_dll_extra_pe_debug != 0) {\n        printf("%s is already loaded\n",pcVar21);\n      }\n      return 1;\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "pe_implied_import_dll(char *filename)" identifier (parameter_list "(char *filename)" ( (parameter_declaration "char *filename" primitive_type (pointer_declarator "*filename" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  uint3 uVar6;\n  uint3 uVar7;\n  bfd *abfd;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  def_file_module *pdVar15;\n  int iVar16;\n  int iVar17;\n  def_file_import *pdVar18;\n  char *pcVar19;\n  char *pcVar20;\n  char *pcVar21;\n  byte *name;\n  ushort *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  ushort *puVar25;\n  bool bVar26;\n  undefined1 uVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  uint local_c4;\n  int local_c0;\n  int local_bc;\n  int local_b4;\n  uint local_ac;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  uint local_98;\n  uint local_8c;\n  int local_88;\n  uint local_80;\n  uint local_7c;\n  uint local_74;\n  uint local_70;\n  uint local_68;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  uint local_4c;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  int local_34;\n  int local_30;\n  char sname [8];\n  \n  bVar31 = 0;\n  abfd = (bfd *)bfd_openr(filename,pe_details->target_name);\n  if (abfd == (bfd *)0x0) {\n    pcVar21 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);\n    einfo(pcVar21,filename);\n    return 0;\n  }\n  iVar8 = bfd_check_format(abfd,1);\n  if (iVar8 == 0) {\n    pcVar21 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    einfo(pcVar21,filename);\n    return 0;\n  }\n  uVar9 = pe_get32(abfd,0x3c);\n  uVar10 = pe_get32(abfd,uVar9 + 0x74);\n  if (uVar10 != 0) {\n    uVar10 = pe_get32(abfd,uVar9 + 0x78);\n    local_4c = pe_get32(abfd,uVar9 + 0x7c);\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = pe_get16(abfd,uVar9 + 6);\n      uVar12 = pe_get16(abfd,uVar9 + 0x14);\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_b4 = local_8c + 0xc;\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        local_bc = local_8c + 8;\n        uVar29 = local_bc == 0;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(abfd,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,abfd);\n      uVar10 = iVar8 - uVar10;\n      if (pe_def_file == (def_file *)0x0) {\n        pe_def_file = def_file_empty();\n      }\n      bVar2 = *(byte *)(iVar8 + 0x18);\n      bVar3 = *(byte *)(iVar8 + 0x19);\n      bVar4 = *(byte *)(iVar8 + 0x1b);\n      bVar5 = *(byte *)(iVar8 + 0x1a);\n      uVar6 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar7 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      pcVar21 = (char *)(*(int *)(iVar8 + 0xc) + uVar10);\n      pdVar15 = def_get_module(pe_def_file,pcVar21);\n      if (pdVar15 == (def_file_module *)0x0) {\n        iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000;\n        iVar16 = (uint)uVar6 + local_80 * 0x1000000;\n        iVar1 = (uint)uVar7 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0);\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }\n        }\n        else if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }\n      }\n      else if (pe_dll_extra_pe_debug != 0) {\n        printf("%s is already loaded\n",pcVar21);\n      }\n      return 1;\n    }\n  }\n  return 0;\n}" { (declaration "int iVar1;" primitive_type 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 "uint3 uVar6;" type_identifier identifier ;) (declaration "uint3 uVar7;" type_identifier identifier ;) (declaration "bfd *abfd;" type_identifier (pointer_declarator "*abfd" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "def_file_module *pdVar15;" type_identifier (pointer_declarator "*pdVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "def_file_import *pdVar18;" type_identifier (pointer_declarator "*pdVar18" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "byte *name;" type_identifier (pointer_declarator "*name" * identifier) ;) (declaration "ushort *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "ushort *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "undefined1 uVar27;" type_identifier identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "undefined1 uVar29;" type_identifier identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "byte bVar31;" type_identifier identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "int local_b4;" primitive_type identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "int local_a0;" primitive_type identifier ;) (declaration "uint local_98;" type_identifier identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "char sname [8];" primitive_type (array_declarator "sname [8]" identifier [ number_literal ]) ;) (expression_statement "bVar31 = 0;" (assignment_expression "bVar31 = 0" identifier = number_literal) ;) (expression_statement "abfd = (bfd *)bfd_openr(filename,pe_details->target_name);" (assignment_expression "abfd = (bfd *)bfd_openr(filename,pe_details->target_name)" identifier = (cast_expression "(bfd *)bfd_openr(filename,pe_details->target_name)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openr(filename,pe_details->target_name)" identifier (argument_list "(filename,pe_details->target_name)" ( identifier , (field_expression "pe_details->target_name" identifier -> field_identifier) ))))) ;) (if_statement "if (abfd == (bfd *)0x0) {\n    pcVar21 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);\n    einfo(pcVar21,filename);\n    return 0;\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    pcVar21 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);\n    einfo(pcVar21,filename);\n    return 0;\n  }" { (expression_statement "pcVar21 = (char *)dcgettext(0,"%X%P: open %s: %E\n",5);" (assignment_expression "pcVar21 = (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(pcVar21,filename);" (call_expression "einfo(pcVar21,filename)" identifier (argument_list "(pcVar21,filename)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar8 = bfd_check_format(abfd,1);" (assignment_expression "iVar8 = bfd_check_format(abfd,1)" identifier = (call_expression "bfd_check_format(abfd,1)" identifier (argument_list "(abfd,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n    pcVar21 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    einfo(pcVar21,filename);\n    return 0;\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar21 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    einfo(pcVar21,filename);\n    return 0;\n  }" { (expression_statement "pcVar21 = (char *)dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);" (assignment_expression "pcVar21 = (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(pcVar21,filename);" (call_expression "einfo(pcVar21,filename)" identifier (argument_list "(pcVar21,filename)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar9 = pe_get32(abfd,0x3c);" (assignment_expression "uVar9 = pe_get32(abfd,0x3c)" identifier = (call_expression "pe_get32(abfd,0x3c)" identifier (argument_list "(abfd,0x3c)" ( identifier , number_literal )))) ;) (expression_statement "uVar10 = pe_get32(abfd,uVar9 + 0x74);" (assignment_expression "uVar10 = pe_get32(abfd,uVar9 + 0x74)" identifier = (call_expression "pe_get32(abfd,uVar9 + 0x74)" identifier (argument_list "(abfd,uVar9 + 0x74)" ( identifier , (binary_expression "uVar9 + 0x74" identifier + number_literal) )))) ;) (if_statement "if (uVar10 != 0) {\n    uVar10 = pe_get32(abfd,uVar9 + 0x78);\n    local_4c = pe_get32(abfd,uVar9 + 0x7c);\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = pe_get16(abfd,uVar9 + 6);\n      uVar12 = pe_get16(abfd,uVar9 + 0x14);\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_b4 = local_8c + 0xc;\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        local_bc = local_8c + 8;\n        uVar29 = local_bc == 0;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(abfd,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,abfd);\n      uVar10 = iVar8 - uVar10;\n      if (pe_def_file == (def_file *)0x0) {\n        pe_def_file = def_file_empty();\n      }\n      bVar2 = *(byte *)(iVar8 + 0x18);\n      bVar3 = *(byte *)(iVar8 + 0x19);\n      bVar4 = *(byte *)(iVar8 + 0x1b);\n      bVar5 = *(byte *)(iVar8 + 0x1a);\n      uVar6 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar7 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      pcVar21 = (char *)(*(int *)(iVar8 + 0xc) + uVar10);\n      pdVar15 = def_get_module(pe_def_file,pcVar21);\n      if (pdVar15 == (def_file_module *)0x0) {\n        iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000;\n        iVar16 = (uint)uVar6 + local_80 * 0x1000000;\n        iVar1 = (uint)uVar7 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0);\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }\n        }\n        else if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }\n      }\n      else if (pe_dll_extra_pe_debug != 0) {\n        printf("%s is already loaded\n",pcVar21);\n      }\n      return 1;\n    }\n  }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar10 = pe_get32(abfd,uVar9 + 0x78);\n    local_4c = pe_get32(abfd,uVar9 + 0x7c);\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = pe_get16(abfd,uVar9 + 6);\n      uVar12 = pe_get16(abfd,uVar9 + 0x14);\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_b4 = local_8c + 0xc;\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        local_bc = local_8c + 8;\n        uVar29 = local_bc == 0;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(abfd,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,abfd);\n      uVar10 = iVar8 - uVar10;\n      if (pe_def_file == (def_file *)0x0) {\n        pe_def_file = def_file_empty();\n      }\n      bVar2 = *(byte *)(iVar8 + 0x18);\n      bVar3 = *(byte *)(iVar8 + 0x19);\n      bVar4 = *(byte *)(iVar8 + 0x1b);\n      bVar5 = *(byte *)(iVar8 + 0x1a);\n      uVar6 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar7 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      pcVar21 = (char *)(*(int *)(iVar8 + 0xc) + uVar10);\n      pdVar15 = def_get_module(pe_def_file,pcVar21);\n      if (pdVar15 == (def_file_module *)0x0) {\n        iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000;\n        iVar16 = (uint)uVar6 + local_80 * 0x1000000;\n        iVar1 = (uint)uVar7 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0);\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }\n        }\n        else if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }\n      }\n      else if (pe_dll_extra_pe_debug != 0) {\n        printf("%s is already loaded\n",pcVar21);\n      }\n      return 1;\n    }\n  }" { (expression_statement "uVar10 = pe_get32(abfd,uVar9 + 0x78);" (assignment_expression "uVar10 = pe_get32(abfd,uVar9 + 0x78)" identifier = (call_expression "pe_get32(abfd,uVar9 + 0x78)" identifier (argument_list "(abfd,uVar9 + 0x78)" ( identifier , (binary_expression "uVar9 + 0x78" identifier + number_literal) )))) ;) (expression_statement "local_4c = pe_get32(abfd,uVar9 + 0x7c);" (assignment_expression "local_4c = pe_get32(abfd,uVar9 + 0x7c)" identifier = (call_expression "pe_get32(abfd,uVar9 + 0x7c)" identifier (argument_list "(abfd,uVar9 + 0x7c)" ( identifier , (binary_expression "uVar9 + 0x7c" identifier + number_literal) )))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (if_statement "if (local_4c != 0) {\n      uVar11 = pe_get16(abfd,uVar9 + 6);\n      uVar12 = pe_get16(abfd,uVar9 + 0x14);\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_b4 = local_8c + 0xc;\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        local_bc = local_8c + 8;\n        uVar29 = local_bc == 0;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(abfd,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,abfd);\n      uVar10 = iVar8 - uVar10;\n      if (pe_def_file == (def_file *)0x0) {\n        pe_def_file = def_file_empty();\n      }\n      bVar2 = *(byte *)(iVar8 + 0x18);\n      bVar3 = *(byte *)(iVar8 + 0x19);\n      bVar4 = *(byte *)(iVar8 + 0x1b);\n      bVar5 = *(byte *)(iVar8 + 0x1a);\n      uVar6 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar7 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      pcVar21 = (char *)(*(int *)(iVar8 + 0xc) + uVar10);\n      pdVar15 = def_get_module(pe_def_file,pcVar21);\n      if (pdVar15 == (def_file_module *)0x0) {\n        iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000;\n        iVar16 = (uint)uVar6 + local_80 * 0x1000000;\n        iVar1 = (uint)uVar7 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0);\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }\n        }\n        else if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }\n      }\n      else if (pe_dll_extra_pe_debug != 0) {\n        printf("%s is already loaded\n",pcVar21);\n      }\n      return 1;\n    }" if (parenthesized_expression "(local_4c != 0)" ( (binary_expression "local_4c != 0" identifier != number_literal) )) (compound_statement "{\n      uVar11 = pe_get16(abfd,uVar9 + 6);\n      uVar12 = pe_get16(abfd,uVar9 + 0x14);\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_b4 = local_8c + 0xc;\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        local_bc = local_8c + 8;\n        uVar29 = local_bc == 0;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(abfd,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,abfd);\n      uVar10 = iVar8 - uVar10;\n      if (pe_def_file == (def_file *)0x0) {\n        pe_def_file = def_file_empty();\n      }\n      bVar2 = *(byte *)(iVar8 + 0x18);\n      bVar3 = *(byte *)(iVar8 + 0x19);\n      bVar4 = *(byte *)(iVar8 + 0x1b);\n      bVar5 = *(byte *)(iVar8 + 0x1a);\n      uVar6 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar7 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      pcVar21 = (char *)(*(int *)(iVar8 + 0xc) + uVar10);\n      pdVar15 = def_get_module(pe_def_file,pcVar21);\n      if (pdVar15 == (def_file_module *)0x0) {\n        iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000;\n        iVar16 = (uint)uVar6 + local_80 * 0x1000000;\n        iVar1 = (uint)uVar7 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0);\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }\n        }\n        else if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }\n      }\n      else if (pe_dll_extra_pe_debug != 0) {\n        printf("%s is already loaded\n",pcVar21);\n      }\n      return 1;\n    }" { (expression_statement "uVar11 = pe_get16(abfd,uVar9 + 6);" (assignment_expression "uVar11 = pe_get16(abfd,uVar9 + 6)" identifier = (call_expression "pe_get16(abfd,uVar9 + 6)" identifier (argument_list "(abfd,uVar9 + 6)" ( identifier , (binary_expression "uVar9 + 6" identifier + number_literal) )))) ;) (expression_statement "uVar12 = pe_get16(abfd,uVar9 + 0x14);" (assignment_expression "uVar12 = pe_get16(abfd,uVar9 + 0x14)" identifier = (call_expression "pe_get16(abfd,uVar9 + 0x14)" identifier (argument_list "(abfd,uVar9 + 0x14)" ( identifier , (binary_expression "uVar9 + 0x14" identifier + number_literal) )))) ;) (expression_statement "local_8c = uVar9 + 0x18 + uVar12;" (assignment_expression "local_8c = uVar9 + 0x18 + uVar12" identifier = (binary_expression "uVar9 + 0x18 + uVar12" (binary_expression "uVar9 + 0x18" identifier + number_literal) + identifier)) ;) (expression_statement "local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);" (assignment_expression "local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12)" identifier = (binary_expression "(uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12)" (call_expression "(uint)(0xffffffe7 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffffe7 < uVar9)" ( (binary_expression "0xffffffe7 < uVar9" number_literal < identifier) ))) + (cast_expression "(uint)CARRY4(uVar9 + 0x18,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9 + 0x18,uVar12)" identifier (argument_list "(uVar9 + 0x18,uVar12)" ( (binary_expression "uVar9 + 0x18" identifier + number_literal) , identifier )))))) ;) (if_statement "if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_b4 = local_8c + 0xc;\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        local_bc = local_8c + 8;\n        uVar29 = local_bc == 0;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }" { (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;) (expression_statement "local_68 = 1;" (assignment_expression "local_68 = 1" identifier = number_literal) ;) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_b4 = local_8c + 0xc;\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        local_bc = local_8c + 8;\n        uVar29 = local_bc == 0;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" else (compound_statement "{\n        local_b4 = local_8c + 0xc;\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        local_bc = local_8c + 8;\n        uVar29 = local_bc == 0;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" { (expression_statement "local_b4 = local_8c + 0xc;" (assignment_expression "local_b4 = local_8c + 0xc" identifier = (binary_expression "local_8c + 0xc" identifier + number_literal)) ;) (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_ac = local_8c;" (assignment_expression "local_ac = local_8c" identifier = identifier) ;) (expression_statement "local_a8 = local_88;" (assignment_expression "local_a8 = local_88" identifier = identifier) ;) (do_statement "do {\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);" do (compound_statement "{\n          uVar9 = pe_get32(abfd,local_b4);\n          uVar12 = pe_get32(abfd,local_b4 + 4);\n          uVar13 = pe_get32(abfd,local_b4 + 8);\n          bfd_seek(abfd,local_ac,local_a8,0);\n          bfd_bread(sname,8,0,abfd);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          local_b4 = local_b4 + 0x28;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        }" { (expression_statement "uVar9 = pe_get32(abfd,local_b4);" (assignment_expression "uVar9 = pe_get32(abfd,local_b4)" identifier = (call_expression "pe_get32(abfd,local_b4)" identifier (argument_list "(abfd,local_b4)" ( identifier , identifier )))) ;) (expression_statement "uVar12 = pe_get32(abfd,local_b4 + 4);" (assignment_expression "uVar12 = pe_get32(abfd,local_b4 + 4)" identifier = (call_expression "pe_get32(abfd,local_b4 + 4)" identifier (argument_list "(abfd,local_b4 + 4)" ( identifier , (binary_expression "local_b4 + 4" identifier + number_literal) )))) ;) (expression_statement "uVar13 = pe_get32(abfd,local_b4 + 8);" (assignment_expression "uVar13 = pe_get32(abfd,local_b4 + 8)" identifier = (call_expression "pe_get32(abfd,local_b4 + 8)" identifier (argument_list "(abfd,local_b4 + 8)" ( identifier , (binary_expression "local_b4 + 8" identifier + number_literal) )))) ;) (expression_statement "bfd_seek(abfd,local_ac,local_a8,0);" (call_expression "bfd_seek(abfd,local_ac,local_a8,0)" identifier (argument_list "(abfd,local_ac,local_a8,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(sname,8,0,abfd);" (call_expression "bfd_bread(sname,8,0,abfd)" identifier (argument_list "(sname,8,0,abfd)" ( identifier , number_literal , number_literal , identifier ))) ;) (if_statement "if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }" if (parenthesized_expression "(uVar9 <= uVar10)" ( (binary_expression "uVar9 <= uVar10" identifier <= identifier) )) (compound_statement "{\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }" { (expression_statement "uVar14 = uVar12 + uVar9;" (assignment_expression "uVar14 = uVar12 + uVar9" identifier = (binary_expression "uVar12 + uVar9" identifier + identifier)) ;) (expression_statement "uVar12 = (uint)CARRY4(uVar12,uVar9);" (assignment_expression "uVar12 = (uint)CARRY4(uVar12,uVar9)" identifier = (cast_expression "(uint)CARRY4(uVar12,uVar9)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,uVar9)" identifier (argument_list "(uVar12,uVar9)" ( identifier , identifier ))))) ;) (if_statement "if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }" if (parenthesized_expression "(uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14))" ( (binary_expression "uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)" (binary_expression "uVar12 != 0" identifier != number_literal) || (binary_expression "-uVar12 < (uint)(uVar10 < uVar14)" (unary_expression "-uVar12" - identifier) < (call_expression "(uint)(uVar10 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 < uVar14)" ( (binary_expression "uVar10 < uVar14" identifier < identifier) ))))) )) (compound_statement "{\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }" { (expression_statement "local_34 = (uVar13 - uVar9) + uVar10;" (assignment_expression "local_34 = (uVar13 - uVar9) + uVar10" identifier = (binary_expression "(uVar13 - uVar9) + uVar10" (parenthesized_expression "(uVar13 - uVar9)" ( (binary_expression "uVar13 - uVar9" identifier - identifier) )) + identifier)) ;) (expression_statement "local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);" (assignment_expression "local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9)" identifier = (binary_expression "(uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9)" (cast_expression "(uint)CARRY4(uVar13 - uVar9,uVar10)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar13 - uVar9,uVar10)" identifier (argument_list "(uVar13 - uVar9,uVar10)" ( (binary_expression "uVar13 - uVar9" identifier - identifier) , identifier )))) - (call_expression "(uint)(uVar13 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar9)" ( (binary_expression "uVar13 < uVar9" identifier < identifier) ))))) ;) (if_statement "if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }" if (parenthesized_expression "(uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c))" ( (binary_expression "uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)" (binary_expression "uVar12 < CARRY4(uVar10,local_4c)" identifier < (call_expression "CARRY4(uVar10,local_4c)" identifier (argument_list "(uVar10,local_4c)" ( identifier , identifier )))) || (binary_expression "uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)" (binary_expression "uVar12 - CARRY4(uVar10,local_4c)" identifier - (call_expression "CARRY4(uVar10,local_4c)" identifier (argument_list "(uVar10,local_4c)" ( identifier , identifier )))) < (call_expression "(uint)(uVar14 < uVar10 + local_4c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar10 + local_4c)" ( (binary_expression "uVar14 < uVar10 + local_4c" identifier < (binary_expression "uVar10 + local_4c" identifier + identifier)) ))))) )) (compound_statement "{\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }" { (expression_statement "local_4c = uVar14 - uVar10;" (assignment_expression "local_4c = uVar14 - uVar10" identifier = (binary_expression "uVar14 - uVar10" identifier - identifier)) ;) (expression_statement "local_50 = uVar12 - (uVar14 < uVar10);" (assignment_expression "local_50 = uVar12 - (uVar14 < uVar10)" identifier = (binary_expression "uVar12 - (uVar14 < uVar10)" identifier - (parenthesized_expression "(uVar14 < uVar10)" ( (binary_expression "uVar14 < uVar10" identifier < identifier) )))) ;) })) (goto_statement "goto LAB_0006627d;" goto statement_identifier ;) })) })) (expression_statement "bVar26 = 0xfffffffe < local_a4;" (assignment_expression "bVar26 = 0xfffffffe < local_a4" identifier = (binary_expression "0xfffffffe < local_a4" number_literal < identifier)) ;) (expression_statement "local_a4 = local_a4 + 1;" (assignment_expression "local_a4 = local_a4 + 1" identifier = (binary_expression "local_a4 + 1" identifier + number_literal)) ;) (expression_statement "local_a0 = local_a0 + (uint)bVar26;" (assignment_expression "local_a0 = local_a0 + (uint)bVar26" identifier = (binary_expression "local_a0 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_b4 = local_b4 + 0x28;" (assignment_expression "local_b4 = local_b4 + 0x28" identifier = (binary_expression "local_b4 + 0x28" identifier + number_literal)) ;) (expression_statement "bVar26 = 0xffffffd7 < local_ac;" (assignment_expression "bVar26 = 0xffffffd7 < local_ac" identifier = (binary_expression "0xffffffd7 < local_ac" number_literal < identifier)) ;) (expression_statement "local_ac = local_ac + 0x28;" (assignment_expression "local_ac = local_ac + 0x28" identifier = (binary_expression "local_ac + 0x28" identifier + number_literal)) ;) (expression_statement "local_a8 = local_a8 + (uint)bVar26;" (assignment_expression "local_a8 = local_a8 + (uint)bVar26" identifier = (binary_expression "local_a8 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_a0 != 0 || uVar11 != local_a4)" ( (binary_expression "local_a0 != 0 || uVar11 != local_a4" (binary_expression "local_a0 != 0" identifier != number_literal) || (binary_expression "uVar11 != local_a4" identifier != identifier)) )) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0006627d:\n        local_44 = 0;" statement_identifier : (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;)) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "uVar27 = 0xfffffff7 < local_8c;" (assignment_expression "uVar27 = 0xfffffff7 < local_8c" identifier = (binary_expression "0xfffffff7 < local_8c" number_literal < identifier)) ;) (expression_statement "local_bc = local_8c + 8;" (assignment_expression "local_bc = local_8c + 8" identifier = (binary_expression "local_8c + 8" identifier + number_literal)) ;) (expression_statement "uVar29 = local_bc == 0;" (assignment_expression "uVar29 = local_bc == 0" identifier = (binary_expression "local_bc == 0" identifier == number_literal)) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 1;" (assignment_expression "local_68 = 1" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);" do (compound_statement "{\n          uVar9 = pe_get32(abfd,local_bc);\n          uVar12 = pe_get32(abfd,local_bc + 4);\n          uVar13 = pe_get32(abfd,local_bc + 0x1c);\n          bfd_seek(abfd,local_8c,local_88,0);\n          bfd_bread(sname,8,0,abfd);\n          iVar8 = 6;\n          pbVar23 = (byte *)sname;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          local_bc = local_bc + 0x28;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        }" { (expression_statement "uVar9 = pe_get32(abfd,local_bc);" (assignment_expression "uVar9 = pe_get32(abfd,local_bc)" identifier = (call_expression "pe_get32(abfd,local_bc)" identifier (argument_list "(abfd,local_bc)" ( identifier , identifier )))) ;) (expression_statement "uVar12 = pe_get32(abfd,local_bc + 4);" (assignment_expression "uVar12 = pe_get32(abfd,local_bc + 4)" identifier = (call_expression "pe_get32(abfd,local_bc + 4)" identifier (argument_list "(abfd,local_bc + 4)" ( identifier , (binary_expression "local_bc + 4" identifier + number_literal) )))) ;) (expression_statement "uVar13 = pe_get32(abfd,local_bc + 0x1c);" (assignment_expression "uVar13 = pe_get32(abfd,local_bc + 0x1c)" identifier = (call_expression "pe_get32(abfd,local_bc + 0x1c)" identifier (argument_list "(abfd,local_bc + 0x1c)" ( identifier , (binary_expression "local_bc + 0x1c" identifier + number_literal) )))) ;) (expression_statement "bfd_seek(abfd,local_8c,local_88,0);" (call_expression "bfd_seek(abfd,local_8c,local_88,0)" identifier (argument_list "(abfd,local_8c,local_88,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(sname,8,0,abfd);" (call_expression "bfd_bread(sname,8,0,abfd)" identifier (argument_list "(sname,8,0,abfd)" ( identifier , number_literal , number_literal , identifier ))) ;) (expression_statement "iVar8 = 6;" (assignment_expression "iVar8 = 6" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)sname;" (assignment_expression "pbVar23 = (byte *)sname" identifier = (cast_expression "(byte *)sname" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar24 = (byte *)0xaed93;" (assignment_expression "pbVar24 = (byte *)0xaed93" identifier = (cast_expression "(byte *)0xaed93" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);" do (compound_statement "{\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "uVar27 = *pbVar23 < *pbVar24;" (assignment_expression "uVar27 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "uVar29 = *pbVar23 == *pbVar24;" (assignment_expression "uVar29 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar29)" ( (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;" (assignment_expression "bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27" identifier = (binary_expression "(!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27" (parenthesized_expression "(!(bool)uVar27 && !(bool)uVar29)" ( (binary_expression "!(bool)uVar27 && !(bool)uVar29" (unary_expression "!(bool)uVar27" ! (cast_expression "(bool)uVar27" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar27" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }\n          }" { (expression_statement "local_74 = uVar9 + uVar12;" (assignment_expression "local_74 = uVar9 + uVar12" identifier = (binary_expression "uVar9 + uVar12" identifier + identifier)) ;) (expression_statement "local_70 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_70 = (uint)CARRY4(uVar9,uVar12)" identifier = (cast_expression "(uint)CARRY4(uVar9,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier ))))) ;) (expression_statement "local_7c = uVar12;" (assignment_expression "local_7c = uVar12" identifier = identifier) ;) (labeled_statement "joined_r0x00066360:\n            if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }" statement_identifier : (if_statement "if (pe_dll_extra_pe_debug != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }" if (parenthesized_expression "(pe_dll_extra_pe_debug != 0)" ( (binary_expression "pe_dll_extra_pe_debug != 0" identifier != number_literal) )) (compound_statement "{\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);\n            }" { (expression_statement "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13);" (call_expression "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13)" identifier (argument_list "("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,uVar12,\n                     uVar9 + uVar12,uVar13)" ( (string_literal ""%s %s: 0x%08lx-0x%08lx (0x%08lx)\n"" " string_content escape_sequence ") , (string_literal ""pe_implied_import_dll"" " string_content ") , identifier , identifier , (binary_expression "uVar9 + uVar12" identifier + identifier) , identifier ))) ;) }))) }) (else_clause "else {\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" else (compound_statement "{\n            iVar8 = 7;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)sname;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" { (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)sname;" (assignment_expression "pbVar23 = (byte *)sname" identifier = (cast_expression "(byte *)sname" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar24 = (byte *)".rdata";" (assignment_expression "pbVar24 = (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 (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);" do (compound_statement "{\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar23 < *pbVar24;" (assignment_expression "bVar26 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar30 = *pbVar23 == *pbVar24;" (assignment_expression "bVar30 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar26 && !bVar30) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar30) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar30) == bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" ( (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar30" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }" { (expression_statement "local_5c = uVar9 + uVar12;" (assignment_expression "local_5c = uVar9 + uVar12" identifier = (binary_expression "uVar9 + uVar12" identifier + identifier)) ;) (expression_statement "local_58 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_58 = (uint)CARRY4(uVar9,uVar12)" identifier = (cast_expression "(uint)CARRY4(uVar9,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier ))))) ;) (expression_statement "local_68 = uVar12;" (assignment_expression "local_68 = uVar12" identifier = identifier) ;) (goto_statement "goto joined_r0x00066360;" goto statement_identifier ;) })) (expression_statement "iVar8 = 5;" (assignment_expression "iVar8 = 5" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)sname;" (assignment_expression "pbVar23 = (byte *)sname" identifier = (cast_expression "(byte *)sname" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar24 = (byte *)0xaed9f;" (assignment_expression "pbVar24 = (byte *)0xaed9f" identifier = (cast_expression "(byte *)0xaed9f" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);" do (compound_statement "{\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar23 < *pbVar24;" (assignment_expression "bVar28 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar26 = *pbVar23 == *pbVar24;" (assignment_expression "bVar26 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (if_statement "if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }" if (parenthesized_expression "((!bVar28 && !bVar26) == bVar28)" ( (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier) )) (compound_statement "{\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }" { (expression_statement "local_44 = uVar9 + uVar12;" (assignment_expression "local_44 = uVar9 + uVar12" identifier = (binary_expression "uVar9 + uVar12" identifier + identifier)) ;) (expression_statement "local_40 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_40 = (uint)CARRY4(uVar9,uVar12)" identifier = (cast_expression "(uint)CARRY4(uVar9,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier ))))) ;) (expression_statement "local_3c = uVar12;" (assignment_expression "local_3c = uVar12" identifier = identifier) ;) (goto_statement "goto joined_r0x00066360;" goto statement_identifier ;) })) }))) (expression_statement "bVar26 = 0xfffffffe < local_c4;" (assignment_expression "bVar26 = 0xfffffffe < local_c4" identifier = (binary_expression "0xfffffffe < local_c4" number_literal < identifier)) ;) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" identifier = (binary_expression "local_c4 + 1" identifier + number_literal)) ;) (expression_statement "local_c0 = local_c0 + (uint)bVar26;" (assignment_expression "local_c0 = local_c0 + (uint)bVar26" identifier = (binary_expression "local_c0 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_bc = local_bc + 0x28;" (assignment_expression "local_bc = local_bc + 0x28" identifier = (binary_expression "local_bc + 0x28" identifier + number_literal)) ;) (expression_statement "bVar26 = 0xffffffd7 < local_8c;" (assignment_expression "bVar26 = 0xffffffd7 < local_8c" identifier = (binary_expression "0xffffffd7 < local_8c" number_literal < identifier)) ;) (expression_statement "local_8c = local_8c + 0x28;" (assignment_expression "local_8c = local_8c + 0x28" identifier = (binary_expression "local_8c + 0x28" identifier + number_literal)) ;) (expression_statement "local_88 = local_88 + (uint)bVar26;" (assignment_expression "local_88 = local_88 + (uint)bVar26" identifier = (binary_expression "local_88 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar27 = false;" (assignment_expression "uVar27 = false" identifier = false) ;) (expression_statement "uVar29 = local_c0 == 0 && uVar11 == local_c4;" (assignment_expression "uVar29 = local_c0 == 0 && uVar11 == local_c4" identifier = (binary_expression "local_c0 == 0 && uVar11 == local_c4" (binary_expression "local_c0 == 0" identifier == number_literal) && (binary_expression "uVar11 == local_c4" identifier == identifier))) ;) }) while (parenthesized_expression "(local_c0 != 0 || uVar11 != local_c4)" ( (binary_expression "local_c0 != 0 || uVar11 != local_c4" (binary_expression "local_c0 != 0" identifier != number_literal) || (binary_expression "uVar11 != local_c4" identifier != identifier)) )) ;) }))) (expression_statement "iVar8 = xmalloc(local_4c);" (assignment_expression "iVar8 = xmalloc(local_4c)" identifier = (call_expression "xmalloc(local_4c)" identifier (argument_list "(local_4c)" ( identifier )))) ;) (expression_statement "bfd_seek(abfd,local_34,local_30,0);" (call_expression "bfd_seek(abfd,local_34,local_30,0)" identifier (argument_list "(abfd,local_34,local_30,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(iVar8,local_4c,local_50,abfd);" (call_expression "bfd_bread(iVar8,local_4c,local_50,abfd)" identifier (argument_list "(iVar8,local_4c,local_50,abfd)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar10 = iVar8 - uVar10;" (assignment_expression "uVar10 = iVar8 - uVar10" identifier = (binary_expression "iVar8 - uVar10" identifier - identifier)) ;) (if_statement "if (pe_def_file == (def_file *)0x0) {\n        pe_def_file = def_file_empty();\n      }" if (parenthesized_expression "(pe_def_file == (def_file *)0x0)" ( (binary_expression "pe_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        pe_def_file = def_file_empty();\n      }" { (expression_statement "pe_def_file = def_file_empty();" (assignment_expression "pe_def_file = def_file_empty()" identifier = (call_expression "def_file_empty()" identifier (argument_list "()" ( )))) ;) })) (expression_statement "bVar2 = *(byte *)(iVar8 + 0x18);" (assignment_expression "bVar2 = *(byte *)(iVar8 + 0x18)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x18)" * (cast_expression "(byte *)(iVar8 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "bVar3 = *(byte *)(iVar8 + 0x19);" (assignment_expression "bVar3 = *(byte *)(iVar8 + 0x19)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x19)" * (cast_expression "(byte *)(iVar8 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x19)" ( (binary_expression "iVar8 + 0x19" identifier + number_literal) ))))) ;) (expression_statement "bVar4 = *(byte *)(iVar8 + 0x1b);" (assignment_expression "bVar4 = *(byte *)(iVar8 + 0x1b)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x1b)" * (cast_expression "(byte *)(iVar8 + 0x1b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1b)" ( (binary_expression "iVar8 + 0x1b" identifier + number_literal) ))))) ;) (expression_statement "bVar5 = *(byte *)(iVar8 + 0x1a);" (assignment_expression "bVar5 = *(byte *)(iVar8 + 0x1a)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x1a)" * (cast_expression "(byte *)(iVar8 + 0x1a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1a)" ( (binary_expression "iVar8 + 0x1a" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint3 *)(iVar8 + 0x20);" (assignment_expression "uVar6 = *(uint3 *)(iVar8 + 0x20)" identifier = (pointer_expression "*(uint3 *)(iVar8 + 0x20)" * (cast_expression "(uint3 *)(iVar8 + 0x20)" ( (type_descriptor "uint3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x20)" ( (binary_expression "iVar8 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_80 = (uint)*(byte *)(iVar8 + 0x23);" (assignment_expression "local_80 = (uint)*(byte *)(iVar8 + 0x23)" identifier = (binary_expression "(uint)*(byte *)(iVar8 + 0x23)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar8 + 0x23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x23)" ( (binary_expression "iVar8 + 0x23" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint3 *)(iVar8 + 0x1c);" (assignment_expression "uVar7 = *(uint3 *)(iVar8 + 0x1c)" identifier = (pointer_expression "*(uint3 *)(iVar8 + 0x1c)" * (cast_expression "(uint3 *)(iVar8 + 0x1c)" ( (type_descriptor "uint3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_98 = (uint)*(byte *)(iVar8 + 0x1f);" (assignment_expression "local_98 = (uint)*(byte *)(iVar8 + 0x1f)" identifier = (binary_expression "(uint)*(byte *)(iVar8 + 0x1f)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar8 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1f)" ( (binary_expression "iVar8 + 0x1f" identifier + number_literal) ))))) ;) (expression_statement "pcVar21 = (char *)(*(int *)(iVar8 + 0xc) + uVar10);" (assignment_expression "pcVar21 = (char *)(*(int *)(iVar8 + 0xc) + uVar10)" identifier = (cast_expression "(char *)(*(int *)(iVar8 + 0xc) + uVar10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0xc) + uVar10)" ( (binary_expression "*(int *)(iVar8 + 0xc) + uVar10" (pointer_expression "*(int *)(iVar8 + 0xc)" * (cast_expression "(int *)(iVar8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "pdVar15 = def_get_module(pe_def_file,pcVar21);" (assignment_expression "pdVar15 = def_get_module(pe_def_file,pcVar21)" identifier = (call_expression "def_get_module(pe_def_file,pcVar21)" identifier (argument_list "(pe_def_file,pcVar21)" ( identifier , identifier )))) ;) (if_statement "if (pdVar15 == (def_file_module *)0x0) {\n        iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000;\n        iVar16 = (uint)uVar6 + local_80 * 0x1000000;\n        iVar1 = (uint)uVar7 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0);\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }\n        }\n        else if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }\n      }\n      else if (pe_dll_extra_pe_debug != 0) {\n        printf("%s is already loaded\n",pcVar21);\n      }" if (parenthesized_expression "(pdVar15 == (def_file_module *)0x0)" ( (binary_expression "pdVar15 == (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        iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000;\n        iVar16 = (uint)uVar6 + local_80 * 0x1000000;\n        iVar1 = (uint)uVar7 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0);\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }\n        }\n        else if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }\n      }" { (expression_statement "iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000;" (assignment_expression "iVar8 = (uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000" identifier = (binary_expression "(uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2 + (uint)bVar4 * 0x1000000" (binary_expression "(uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100 + (uint)bVar2" (binary_expression "(uint)bVar5 * 0x10000 + (uint)bVar3 * 0x100" (binary_expression "(uint)bVar5 * 0x10000" (cast_expression "(uint)bVar5" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (binary_expression "(uint)bVar3 * 0x100" (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)bVar4 * 0x1000000" (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal))) ;) (expression_statement "iVar16 = (uint)uVar6 + local_80 * 0x1000000;" (assignment_expression "iVar16 = (uint)uVar6 + local_80 * 0x1000000" identifier = (binary_expression "(uint)uVar6 + local_80 * 0x1000000" (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "local_80 * 0x1000000" identifier * number_literal))) ;) (expression_statement "iVar1 = (uint)uVar7 + local_98 * 0x1000000;" (assignment_expression "iVar1 = (uint)uVar7 + local_98 * 0x1000000" identifier = (binary_expression "(uint)uVar7 + local_98 * 0x1000000" (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "local_98 * 0x1000000" identifier * number_literal))) ;) (expression_statement "puVar22 = (ushort *)(iVar16 + uVar10);" (assignment_expression "puVar22 = (ushort *)(iVar16 + uVar10)" identifier = (cast_expression "(ushort *)(iVar16 + uVar10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + uVar10)" ( (binary_expression "iVar16 + uVar10" identifier + identifier) )))) ;) (expression_statement "iVar17 = def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0);" (assignment_expression "iVar17 = def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0)" identifier = (call_expression "def_file_add_import_from\n                           (pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0)" identifier (argument_list "(pe_def_file,iVar8,\n                            (char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10),\n                            pcVar21,0,(char *)0x0,(char *)0x0)" ( identifier , identifier , (cast_expression "(char *)((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10)" ( (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                                     (uint)*puVar22" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + 3)" ( (binary_expression "(int)puVar22 + 3" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*puVar22" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)(byte)puVar22[1] * 0x10000" (cast_expression "(uint)(byte)puVar22[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar22[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar22[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 (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }\n        }\n        else if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\n          local_c4 = 0;\n          if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }\n        }" { (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (if_statement "if (iVar8 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);\n          }" { (do_statement "do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar8 != local_c4);" do (compound_statement "{\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              name = (byte *)(uVar9 + uVar10);\n              bVar30 = name == (byte *)0x0;\n              pbVar23 = name;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            }" { (expression_statement "iVar17 = 5;" (assignment_expression "iVar17 = 5" identifier = number_literal) ;) (expression_statement "uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" identifier = (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + 3)" ( (binary_expression "(int)puVar22 + 3" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*puVar22" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)(byte)puVar22[1] * 0x10000" (cast_expression "(uint)(byte)puVar22[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar22[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar22[1]" identifier [ number_literal ]))) * number_literal))) ;) (expression_statement "bVar26 = CARRY4(uVar9,uVar10);" (assignment_expression "bVar26 = CARRY4(uVar9,uVar10)" identifier = (call_expression "CARRY4(uVar9,uVar10)" identifier (argument_list "(uVar9,uVar10)" ( identifier , identifier )))) ;) (expression_statement "name = (byte *)(uVar9 + uVar10);" (assignment_expression "name = (byte *)(uVar9 + uVar10)" identifier = (cast_expression "(byte *)(uVar9 + uVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 + uVar10)" ( (binary_expression "uVar9 + uVar10" identifier + identifier) )))) ;) (expression_statement "bVar30 = name == (byte *)0x0;" (assignment_expression "bVar30 = name == (byte *)0x0" identifier = (binary_expression "name == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar23 = name;" (assignment_expression "pbVar23 = name" 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 (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);" do (compound_statement "{\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar23 < *pbVar24;" (assignment_expression "bVar26 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar30 = *pbVar23 == *pbVar24;" (assignment_expression "bVar30 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (if_statement "if ((!bVar26 && !bVar30) != bVar26) {\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }\n              }" if (parenthesized_expression "((!bVar26 && !bVar30) != bVar26)" ( (binary_expression "(!bVar26 && !bVar30) != bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" ( (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar30" ! identifier)) )) != identifier) )) (compound_statement "{\n                sname[0] = '\0';\n                sname[1] = '\0';\n                sname[2] = '\0';\n                sname[3] = '\0';\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);\n                if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\n                }\n                if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\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 "uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000" identifier = (binary_expression "(uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16)))" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16)) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar1 + (3 - iVar16))" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + iVar1 + (3 - iVar16))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + iVar1 + (3 - iVar16))" ( (binary_expression "(int)puVar22 + iVar1 + (3 - iVar16)" (binary_expression "(int)puVar22 + iVar1" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (parenthesized_expression "(3 - iVar16)" ( (binary_expression "3 - iVar16" number_literal - identifier) ))) )))) * number_literal) + (cast_expression "(uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16)))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT11(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16)))" identifier (argument_list "(*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar1 - iVar16)))" ( (pointer_expression "*(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16))" * (cast_expression "(undefined1 *)((int)puVar22 + iVar1 + (1 - iVar16))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + iVar1 + (1 - iVar16))" ( (binary_expression "(int)puVar22 + iVar1 + (1 - iVar16)" (binary_expression "(int)puVar22 + iVar1" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (parenthesized_expression "(1 - iVar16)" ( (binary_expression "1 - iVar16" number_literal - identifier) ))) )))) , (pointer_expression "*(undefined1 *)((int)puVar22 + (iVar1 - iVar16))" * (cast_expression "(undefined1 *)((int)puVar22 + (iVar1 - iVar16))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + (iVar1 - iVar16))" ( (binary_expression "(int)puVar22 + (iVar1 - iVar16)" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(iVar1 - iVar16)" ( (binary_expression "iVar1 - iVar16" identifier - identifier) ))) )))) ))))) + (binary_expression "(uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16)) * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar1 + (2 - iVar16))" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + iVar1 + (2 - iVar16))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + iVar1 + (2 - iVar16))" ( (binary_expression "(int)puVar22 + iVar1 + (2 - iVar16)" (binary_expression "(int)puVar22 + iVar1" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (parenthesized_expression "(2 - iVar16)" ( (binary_expression "2 - iVar16" number_literal - identifier) ))) )))) * number_literal))) ;) (if_statement "if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }" if (parenthesized_expression "(((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))))" ( (binary_expression "((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" (parenthesized_expression "((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70))" ( (binary_expression "(uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" (parenthesized_expression "(uVar9 < local_7c)" ( (binary_expression "uVar9 < local_7c" identifier < identifier) )) || (parenthesized_expression "(uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" ( (comma_expression "uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (assignment_expression "uVar11 = 1" identifier = number_literal) , (binary_expression "local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (binary_expression "local_70 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_74) <= -local_70" (call_expression "(uint)(uVar9 < local_74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_74)" ( (binary_expression "uVar9 < local_74" identifier < identifier) ))) <= (unary_expression "-local_70" - identifier)))) ))) )) && (parenthesized_expression "((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" ( (parenthesized_expression "(uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))" ( (binary_expression "uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" (binary_expression "uVar9 < local_68" identifier < identifier) || (parenthesized_expression "(uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" ( (comma_expression "uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (assignment_expression "uVar11 = 1" identifier = number_literal) , (binary_expression "local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (binary_expression "local_58 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_5c) <= -local_58" (call_expression "(uint)(uVar9 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_5c)" ( (binary_expression "uVar9 < local_5c" identifier < identifier) ))) <= (unary_expression "-local_58" - identifier)))) ))) )) ))) )) (compound_statement "{\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }" { (expression_statement "uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);" (assignment_expression "uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" identifier = (call_expression "(uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" ( (binary_expression "(local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9" (parenthesized_expression "(local_40 != 0 || -local_40 < (uint)(uVar9 < local_44))" ( (binary_expression "local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)" (binary_expression "local_40 != 0" identifier != number_literal) || (binary_expression "-local_40 < (uint)(uVar9 < local_44)" (unary_expression "-local_40" - identifier) < (call_expression "(uint)(uVar9 < local_44)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_44)" ( (binary_expression "uVar9 < local_44" identifier < identifier) ))))) )) && (binary_expression "local_3c <= uVar9" identifier <= identifier)) )))) ;) })) (expression_statement "pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname);" (assignment_expression "pdVar18 = def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname)" identifier = (call_expression "def_file_add_import(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname)" identifier (argument_list "(pe_def_file,(char *)name,pcVar21,local_c4,(char *)0x0,\n                                              (char *)0x0,(int *)sname)" ( identifier , (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) 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) , (cast_expression "(int *)sname" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (sname._0_4_ == 0) {\n                  pdVar18->data = uVar11;\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                  pdVar18->data = uVar11;\n                }" { (expression_statement "pdVar18->data = uVar11;" (assignment_expression "pdVar18->data = uVar11" (field_expression "pdVar18->data" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (pe_dll_extra_pe_debug != 0) {\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }" if (parenthesized_expression "(pe_dll_extra_pe_debug != 0)" ( (binary_expression "pe_dll_extra_pe_debug != 0" identifier != number_literal) )) (compound_statement "{\n                  pcVar20 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);\n                }" { (expression_statement "pcVar20 = "(data)";" (assignment_expression "pcVar20 = "(data)"" identifier = (string_literal ""(data)"" " string_content ")) ;) (if_statement "if (uVar11 == 0) {\n                    pcVar20 = "";\n                  }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar20 = "";\n                  }" { (expression_statement "pcVar20 = "";" (assignment_expression "pcVar20 = """ identifier = (string_literal """" " ")) ;) })) (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                         name,uVar9,pcVar20)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pe_implied_import_dll"" " string_content ") , identifier , identifier , identifier , identifier ))) ;) })) })) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" identifier = (binary_expression "local_c4 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 2;" (assignment_expression "puVar22 = puVar22 + 2" identifier = (binary_expression "puVar22 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 != local_c4)" ( (binary_expression "iVar8 != local_c4" identifier != identifier) )) ;) })) }) (else_clause "else if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }" else (if_statement "if (iVar8 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar1 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);\n        }" { (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "puVar25 = (ushort *)(iVar1 + uVar10);" (assignment_expression "puVar25 = (ushort *)(iVar1 + uVar10)" identifier = (cast_expression "(ushort *)(iVar1 + uVar10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + uVar10)" ( (binary_expression "iVar1 + uVar10" identifier + identifier) )))) ;) (do_statement "do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar8 != local_c4);" do (compound_statement "{\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            pcVar20 = (char *)(uVar10 + *(int *)puVar22);\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          }" { (expression_statement "uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000" identifier = (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25" (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar25 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar25 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 3)" ( (binary_expression "(int)puVar25 + 3" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*puVar25" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)(byte)puVar25[1] * 0x10000" (cast_expression "(uint)(byte)puVar25[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar25[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar25[1]" identifier [ number_literal ]))) * number_literal))) ;) (expression_statement "pcVar20 = (char *)(uVar10 + *(int *)puVar22);" (assignment_expression "pcVar20 = (char *)(uVar10 + *(int *)puVar22)" identifier = (cast_expression "(char *)(uVar10 + *(int *)puVar22)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + *(int *)puVar22)" ( (binary_expression "uVar10 + *(int *)puVar22" identifier + (pointer_expression "*(int *)puVar22" * (cast_expression "(int *)puVar22" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )))) ;) (if_statement "if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }\n            else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }" if (parenthesized_expression "((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40))))" ( (binary_expression "(((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))" (parenthesized_expression "(((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))))" ( (binary_expression "((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" (parenthesized_expression "((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70))" ( (binary_expression "(uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" (parenthesized_expression "(uVar9 < local_7c)" ( (binary_expression "uVar9 < local_7c" identifier < identifier) )) || (parenthesized_expression "(local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" ( (binary_expression "local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (binary_expression "local_70 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_74) <= -local_70" (call_expression "(uint)(uVar9 < local_74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_74)" ( (binary_expression "uVar9 < local_74" identifier < identifier) ))) <= (unary_expression "-local_70" - identifier))) ))) )) && (parenthesized_expression "((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" ( (parenthesized_expression "(uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))" ( (binary_expression "uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" (binary_expression "uVar9 < local_68" identifier < identifier) || (parenthesized_expression "(local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" ( (binary_expression "local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (binary_expression "local_58 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_5c) <= -local_58" (call_expression "(uint)(uVar9 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_5c)" ( (binary_expression "uVar9 < local_5c" identifier < identifier) ))) <= (unary_expression "-local_58" - identifier))) ))) )) ))) )) && (parenthesized_expression "((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))" ( (parenthesized_expression "(uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40))" ( (binary_expression "uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)" (binary_expression "uVar9 < local_3c" identifier < identifier) || (parenthesized_expression "(local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)" ( (binary_expression "local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40" (binary_expression "local_40 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_44) <= -local_40" (call_expression "(uint)(uVar9 < local_44)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_44)" ( (binary_expression "uVar9 < local_44" identifier < identifier) ))) <= (unary_expression "-local_40" - identifier))) ))) )) ))) )) (compound_statement "{\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              pdVar18->data = 0;\n              if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }\n            }" { (expression_statement "pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);" (assignment_expression "pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0)" identifier = (call_expression "def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0)" identifier (argument_list "(pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0)" ( identifier , (binary_expression "local_c4 + iVar17" 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 "pdVar18->data = 0;" (assignment_expression "pdVar18->data = 0" (field_expression "pdVar18->data" identifier -> field_identifier) = number_literal) ;) (if_statement "if (pe_dll_extra_pe_debug != 0) {\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }" if (parenthesized_expression "(pe_dll_extra_pe_debug != 0)" ( (binary_expression "pe_dll_extra_pe_debug != 0" identifier != number_literal) )) (compound_statement "{\n                pcVar19 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);\n              }" { (expression_statement "pcVar19 = "";" (assignment_expression "pcVar19 = """ identifier = (string_literal """" " ")) ;) (labeled_statement "LAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);" statement_identifier : (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,\n                       pcVar20,uVar9,pcVar19)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pe_implied_import_dll"" " string_content ") , identifier , identifier , identifier , identifier ))) ;)) })) }) (else_clause "else {\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }" else (compound_statement "{\n              pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);\n              iVar1 = pe_dll_extra_pe_debug;\n              pdVar18->data = 1;\n              pcVar19 = "(data)";\n              if (iVar1 != 0) goto LAB_00066b30;\n            }" { (expression_statement "pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0);" (assignment_expression "pdVar18 = def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0)" identifier = (call_expression "def_file_add_import_at\n                                  (pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0)" identifier (argument_list "(pe_def_file,local_c4 + iVar17,pcVar20,pcVar21,local_c4,\n                                   (char *)0x0,(char *)0x0)" ( identifier , (binary_expression "local_c4 + iVar17" 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 "iVar1 = pe_dll_extra_pe_debug;" (assignment_expression "iVar1 = pe_dll_extra_pe_debug" identifier = identifier) ;) (expression_statement "pdVar18->data = 1;" (assignment_expression "pdVar18->data = 1" (field_expression "pdVar18->data" identifier -> field_identifier) = number_literal) ;) (expression_statement "pcVar19 = "(data)";" (assignment_expression "pcVar19 = "(data)"" identifier = (string_literal ""(data)"" " string_content ")) ;) (if_statement "if (iVar1 != 0) goto LAB_00066b30;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00066b30;" goto statement_identifier ;)) }))) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" identifier = (binary_expression "local_c4 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 2;" (assignment_expression "puVar22 = puVar22 + 2" identifier = (binary_expression "puVar22 + 2" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar25 + 2;" (assignment_expression "puVar25 = puVar25 + 2" identifier = (binary_expression "puVar25 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 != local_c4)" ( (binary_expression "iVar8 != local_c4" identifier != identifier) )) ;) })))) }) (else_clause "else if (pe_dll_extra_pe_debug != 0) {\n        printf("%s is already loaded\n",pcVar21);\n      }" else (if_statement "if (pe_dll_extra_pe_debug != 0) {\n        printf("%s is already loaded\n",pcVar21);\n      }" if (parenthesized_expression "(pe_dll_extra_pe_debug != 0)" ( (binary_expression "pe_dll_extra_pe_debug != 0" identifier != number_literal) )) (compound_statement "{\n        printf("%s is already loaded\n",pcVar21);\n      }" { (expression_statement "printf("%s is already loaded\n",pcVar21);" (call_expression "printf("%s is already loaded\n",pcVar21)" identifier (argument_list "("%s is already loaded\n",pcVar21)" ( (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_00066060(undefined4 param_1)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  uint3 uVar5;\n  uint3 uVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int iVar19;\n  int iVar20;\n  byte *pbVar21;\n  ushort *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  ushort *puVar25;\n  bool bVar26;\n  undefined1 uVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  uint local_c4;\n  int local_c0;\n  uint local_ac;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  uint local_98;\n  uint local_8c;\n  int local_88;\n  uint local_80;\n  uint local_7c;\n  uint local_74;\n  uint local_70;\n  uint local_68;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  uint local_4c;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  int local_34;\n  int local_30;\n  int local_28 [2];\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  bVar31 = 0;\n  uStack_14 = 0x66069;\n  iVar7 = bfd_openr(param_1,*DAT_001d127c);\n  if (iVar7 == 0) {\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  iVar8 = bfd_check_format(iVar7,1);\n  if (iVar8 == 0) {\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  uVar9 = FUN_000619e0();\n  iVar8 = FUN_000619e0();\n  if (iVar8 != 0) {\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_00066060(undefined4 param_1)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  uint3 uVar5;\n  uint3 uVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int iVar19;\n  int iVar20;\n  byte *pbVar21;\n  ushort *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  ushort *puVar25;\n  bool bVar26;\n  undefined1 uVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  uint local_c4;\n  int local_c0;\n  uint local_ac;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  uint local_98;\n  uint local_8c;\n  int local_88;\n  uint local_80;\n  uint local_7c;\n  uint local_74;\n  uint local_70;\n  uint local_68;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  uint local_4c;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  int local_34;\n  int local_30;\n  int local_28 [2];\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  bVar31 = 0;\n  uStack_14 = 0x66069;\n  iVar7 = bfd_openr(param_1,*DAT_001d127c);\n  if (iVar7 == 0) {\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  iVar8 = bfd_check_format(iVar7,1);\n  if (iVar8 == 0) {\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  uVar9 = FUN_000619e0();\n  iVar8 = FUN_000619e0();\n  if (iVar8 != 0) {\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_00066060(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  uint3 uVar5;\n  uint3 uVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int iVar19;\n  int iVar20;\n  byte *pbVar21;\n  ushort *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  ushort *puVar25;\n  bool bVar26;\n  undefined1 uVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  uint local_c4;\n  int local_c0;\n  uint local_ac;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  uint local_98;\n  uint local_8c;\n  int local_88;\n  uint local_80;\n  uint local_7c;\n  uint local_74;\n  uint local_70;\n  uint local_68;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  uint local_4c;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  int local_34;\n  int local_30;\n  int local_28 [2];\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  bVar31 = 0;\n  uStack_14 = 0x66069;\n  iVar7 = bfd_openr(param_1,*DAT_001d127c);\n  if (iVar7 == 0) {\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  iVar8 = bfd_check_format(iVar7,1);\n  if (iVar8 == 0) {\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  uVar9 = FUN_000619e0();\n  iVar8 = FUN_000619e0();\n  if (iVar8 != 0) {\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\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 "uint3 uVar5;" type_identifier identifier ;) (declaration "uint3 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "ushort *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "ushort *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "undefined1 uVar27;" type_identifier identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "undefined1 uVar29;" type_identifier identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "byte bVar31;" type_identifier identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "int local_a0;" primitive_type identifier ;) (declaration "uint local_98;" type_identifier identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_28 [2];" primitive_type (array_declarator "local_28 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar31 = 0;" (assignment_expression "bVar31 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x66069;" (assignment_expression "uStack_14 = 0x66069" identifier = number_literal) ;) (expression_statement "iVar7 = bfd_openr(param_1,*DAT_001d127c);" (assignment_expression "iVar7 = bfd_openr(param_1,*DAT_001d127c)" identifier = (call_expression "bfd_openr(param_1,*DAT_001d127c)" identifier (argument_list "(param_1,*DAT_001d127c)" ( identifier , (pointer_expression "*DAT_001d127c" * identifier) )))) ;) (if_statement "if (iVar7 == 0) {\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" { (expression_statement "uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);" (assignment_expression "uVar15 = 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_00034d20(uVar15,param_1);" (call_expression "FUN_00034d20(uVar15,param_1)" identifier (argument_list "(uVar15,param_1)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar8 = bfd_check_format(iVar7,1);" (assignment_expression "iVar8 = bfd_check_format(iVar7,1)" identifier = (call_expression "bfd_check_format(iVar7,1)" identifier (argument_list "(iVar7,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" { (expression_statement "uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);" (assignment_expression "uVar15 = 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_00034d20(uVar15,param_1);" (call_expression "FUN_00034d20(uVar15,param_1)" identifier (argument_list "(uVar15,param_1)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar9 = FUN_000619e0();" (assignment_expression "uVar9 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar8 = FUN_000619e0();" (assignment_expression "iVar8 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 != 0) {\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }\n  }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }\n  }" { (expression_statement "uVar10 = FUN_000619e0();" (assignment_expression "uVar10 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_4c = FUN_000619e0();" (assignment_expression "local_4c = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (if_statement "if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }" if (parenthesized_expression "(local_4c != 0)" ( (binary_expression "local_4c != 0" identifier != number_literal) )) (compound_statement "{\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }" { (expression_statement "uVar11 = FUN_00061990();" (assignment_expression "uVar11 = FUN_00061990()" identifier = (call_expression "FUN_00061990()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = FUN_00061990();" (assignment_expression "uVar12 = FUN_00061990()" identifier = (call_expression "FUN_00061990()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_8c = uVar9 + 0x18 + uVar12;" (assignment_expression "local_8c = uVar9 + 0x18 + uVar12" identifier = (binary_expression "uVar9 + 0x18 + uVar12" (binary_expression "uVar9 + 0x18" identifier + number_literal) + identifier)) ;) (expression_statement "local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);" (assignment_expression "local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12)" identifier = (binary_expression "(uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12)" (call_expression "(uint)(0xffffffe7 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffffffe7 < uVar9)" ( (binary_expression "0xffffffe7 < uVar9" number_literal < identifier) ))) + (cast_expression "(uint)CARRY4(uVar9 + 0x18,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9 + 0x18,uVar12)" identifier (argument_list "(uVar9 + 0x18,uVar12)" ( (binary_expression "uVar9 + 0x18" identifier + number_literal) , identifier )))))) ;) (if_statement "if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }" { (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;) (expression_statement "local_68 = 1;" (assignment_expression "local_68 = 1" identifier = number_literal) ;) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" else (compound_statement "{\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" { (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_ac = local_8c;" (assignment_expression "local_ac = local_8c" identifier = identifier) ;) (expression_statement "local_a8 = local_88;" (assignment_expression "local_a8 = local_88" identifier = identifier) ;) (do_statement "do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);" do (compound_statement "{\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        }" { (expression_statement "uVar9 = FUN_000619e0();" (assignment_expression "uVar9 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = FUN_000619e0();" (assignment_expression "uVar12 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar13 = FUN_000619e0();" (assignment_expression "uVar13 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bfd_seek(iVar7,local_ac,local_a8,0);" (call_expression "bfd_seek(iVar7,local_ac,local_a8,0)" identifier (argument_list "(iVar7,local_ac,local_a8,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(local_28,8,0,iVar7);" (call_expression "bfd_bread(local_28,8,0,iVar7)" identifier (argument_list "(local_28,8,0,iVar7)" ( identifier , number_literal , number_literal , identifier ))) ;) (if_statement "if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }" if (parenthesized_expression "(uVar9 <= uVar10)" ( (binary_expression "uVar9 <= uVar10" identifier <= identifier) )) (compound_statement "{\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }" { (expression_statement "uVar14 = uVar12 + uVar9;" (assignment_expression "uVar14 = uVar12 + uVar9" identifier = (binary_expression "uVar12 + uVar9" identifier + identifier)) ;) (expression_statement "uVar12 = (uint)CARRY4(uVar12,uVar9);" (assignment_expression "uVar12 = (uint)CARRY4(uVar12,uVar9)" identifier = (cast_expression "(uint)CARRY4(uVar12,uVar9)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,uVar9)" identifier (argument_list "(uVar12,uVar9)" ( identifier , identifier ))))) ;) (if_statement "if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }" if (parenthesized_expression "(uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14))" ( (binary_expression "uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)" (binary_expression "uVar12 != 0" identifier != number_literal) || (binary_expression "-uVar12 < (uint)(uVar10 < uVar14)" (unary_expression "-uVar12" - identifier) < (call_expression "(uint)(uVar10 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 < uVar14)" ( (binary_expression "uVar10 < uVar14" identifier < identifier) ))))) )) (compound_statement "{\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }" { (expression_statement "local_34 = (uVar13 - uVar9) + uVar10;" (assignment_expression "local_34 = (uVar13 - uVar9) + uVar10" identifier = (binary_expression "(uVar13 - uVar9) + uVar10" (parenthesized_expression "(uVar13 - uVar9)" ( (binary_expression "uVar13 - uVar9" identifier - identifier) )) + identifier)) ;) (expression_statement "local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);" (assignment_expression "local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9)" identifier = (binary_expression "(uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9)" (cast_expression "(uint)CARRY4(uVar13 - uVar9,uVar10)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar13 - uVar9,uVar10)" identifier (argument_list "(uVar13 - uVar9,uVar10)" ( (binary_expression "uVar13 - uVar9" identifier - identifier) , identifier )))) - (call_expression "(uint)(uVar13 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar9)" ( (binary_expression "uVar13 < uVar9" identifier < identifier) ))))) ;) (if_statement "if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }" if (parenthesized_expression "(uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c))" ( (binary_expression "uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)" (binary_expression "uVar12 < CARRY4(uVar10,local_4c)" identifier < (call_expression "CARRY4(uVar10,local_4c)" identifier (argument_list "(uVar10,local_4c)" ( identifier , identifier )))) || (binary_expression "uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)" (binary_expression "uVar12 - CARRY4(uVar10,local_4c)" identifier - (call_expression "CARRY4(uVar10,local_4c)" identifier (argument_list "(uVar10,local_4c)" ( identifier , identifier )))) < (call_expression "(uint)(uVar14 < uVar10 + local_4c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar10 + local_4c)" ( (binary_expression "uVar14 < uVar10 + local_4c" identifier < (binary_expression "uVar10 + local_4c" identifier + identifier)) ))))) )) (compound_statement "{\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }" { (expression_statement "local_4c = uVar14 - uVar10;" (assignment_expression "local_4c = uVar14 - uVar10" identifier = (binary_expression "uVar14 - uVar10" identifier - identifier)) ;) (expression_statement "local_50 = uVar12 - (uVar14 < uVar10);" (assignment_expression "local_50 = uVar12 - (uVar14 < uVar10)" identifier = (binary_expression "uVar12 - (uVar14 < uVar10)" identifier - (parenthesized_expression "(uVar14 < uVar10)" ( (binary_expression "uVar14 < uVar10" identifier < identifier) )))) ;) })) (goto_statement "goto LAB_0006627d;" goto statement_identifier ;) })) })) (expression_statement "bVar26 = 0xfffffffe < local_a4;" (assignment_expression "bVar26 = 0xfffffffe < local_a4" identifier = (binary_expression "0xfffffffe < local_a4" number_literal < identifier)) ;) (expression_statement "local_a4 = local_a4 + 1;" (assignment_expression "local_a4 = local_a4 + 1" identifier = (binary_expression "local_a4 + 1" identifier + number_literal)) ;) (expression_statement "local_a0 = local_a0 + (uint)bVar26;" (assignment_expression "local_a0 = local_a0 + (uint)bVar26" identifier = (binary_expression "local_a0 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar26 = 0xffffffd7 < local_ac;" (assignment_expression "bVar26 = 0xffffffd7 < local_ac" identifier = (binary_expression "0xffffffd7 < local_ac" number_literal < identifier)) ;) (expression_statement "local_ac = local_ac + 0x28;" (assignment_expression "local_ac = local_ac + 0x28" identifier = (binary_expression "local_ac + 0x28" identifier + number_literal)) ;) (expression_statement "local_a8 = local_a8 + (uint)bVar26;" (assignment_expression "local_a8 = local_a8 + (uint)bVar26" identifier = (binary_expression "local_a8 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_a0 != 0 || uVar11 != local_a4)" ( (binary_expression "local_a0 != 0 || uVar11 != local_a4" (binary_expression "local_a0 != 0" identifier != number_literal) || (binary_expression "uVar11 != local_a4" identifier != identifier)) )) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0006627d:\n        local_44 = 0;" statement_identifier : (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;)) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "uVar27 = 0xfffffff7 < local_8c;" (assignment_expression "uVar27 = 0xfffffff7 < local_8c" identifier = (binary_expression "0xfffffff7 < local_8c" number_literal < identifier)) ;) (expression_statement "uVar29 = local_8c == 0xfffffff8;" (assignment_expression "uVar29 = local_8c == 0xfffffff8" identifier = (binary_expression "local_8c == 0xfffffff8" identifier == number_literal)) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 1;" (assignment_expression "local_68 = 1" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" identifier = number_literal) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);" do (compound_statement "{\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        }" { (expression_statement "uVar9 = FUN_000619e0();" (assignment_expression "uVar9 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = FUN_000619e0();" (assignment_expression "uVar12 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar15 = FUN_000619e0();" (assignment_expression "uVar15 = FUN_000619e0()" identifier = (call_expression "FUN_000619e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "bfd_seek(iVar7,local_8c,local_88,0);" (call_expression "bfd_seek(iVar7,local_8c,local_88,0)" identifier (argument_list "(iVar7,local_8c,local_88,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(local_28,8,0,iVar7);" (call_expression "bfd_bread(local_28,8,0,iVar7)" identifier (argument_list "(local_28,8,0,iVar7)" ( identifier , number_literal , number_literal , identifier ))) ;) (expression_statement "iVar8 = 6;" (assignment_expression "iVar8 = 6" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)local_28;" (assignment_expression "pbVar23 = (byte *)local_28" identifier = (cast_expression "(byte *)local_28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar24 = (byte *)0xaed93;" (assignment_expression "pbVar24 = (byte *)0xaed93" identifier = (cast_expression "(byte *)0xaed93" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);" do (compound_statement "{\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "uVar27 = *pbVar23 < *pbVar24;" (assignment_expression "uVar27 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "uVar29 = *pbVar23 == *pbVar24;" (assignment_expression "uVar29 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar29)" ( (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;" (assignment_expression "bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27" identifier = (binary_expression "(!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27" (parenthesized_expression "(!(bool)uVar27 && !(bool)uVar29)" ( (binary_expression "!(bool)uVar27 && !(bool)uVar29" (unary_expression "!(bool)uVar27" ! (cast_expression "(bool)uVar27" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar27" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }" { (expression_statement "local_74 = uVar9 + uVar12;" (assignment_expression "local_74 = uVar9 + uVar12" identifier = (binary_expression "uVar9 + uVar12" identifier + identifier)) ;) (expression_statement "local_70 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_70 = (uint)CARRY4(uVar9,uVar12)" identifier = (cast_expression "(uint)CARRY4(uVar9,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier ))))) ;) (expression_statement "local_7c = uVar12;" (assignment_expression "local_7c = uVar12" identifier = identifier) ;) (labeled_statement "joined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }" statement_identifier : (if_statement "if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }" if (parenthesized_expression "(DAT_001d11fc != 0)" ( (binary_expression "DAT_001d11fc != 0" identifier != number_literal) )) (compound_statement "{\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }" { (expression_statement "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);" (call_expression "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15)" identifier (argument_list "("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15)" ( (string_literal ""%s %s: 0x%08lx-0x%08lx (0x%08lx)\n"" " string_content escape_sequence ") , (string_literal ""pe_implied_import_dll"" " string_content ") , identifier , identifier , (binary_expression "uVar9 + uVar12" identifier + identifier) , identifier ))) ;) }))) }) (else_clause "else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" else (compound_statement "{\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" { (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)local_28;" (assignment_expression "pbVar23 = (byte *)local_28" identifier = (cast_expression "(byte *)local_28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar24 = (byte *)".rdata";" (assignment_expression "pbVar24 = (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 (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);" do (compound_statement "{\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar23 < *pbVar24;" (assignment_expression "bVar26 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar30 = *pbVar23 == *pbVar24;" (assignment_expression "bVar30 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar26 && !bVar30) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar30) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar30) == bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" ( (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar30" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }" { (expression_statement "local_5c = uVar9 + uVar12;" (assignment_expression "local_5c = uVar9 + uVar12" identifier = (binary_expression "uVar9 + uVar12" identifier + identifier)) ;) (expression_statement "local_58 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_58 = (uint)CARRY4(uVar9,uVar12)" identifier = (cast_expression "(uint)CARRY4(uVar9,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier ))))) ;) (expression_statement "local_68 = uVar12;" (assignment_expression "local_68 = uVar12" identifier = identifier) ;) (goto_statement "goto joined_r0x00066360;" goto statement_identifier ;) })) (expression_statement "iVar8 = 5;" (assignment_expression "iVar8 = 5" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)local_28;" (assignment_expression "pbVar23 = (byte *)local_28" identifier = (cast_expression "(byte *)local_28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar24 = (byte *)0xaed9f;" (assignment_expression "pbVar24 = (byte *)0xaed9f" identifier = (cast_expression "(byte *)0xaed9f" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);" do (compound_statement "{\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar23 < *pbVar24;" (assignment_expression "bVar28 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar26 = *pbVar23 == *pbVar24;" (assignment_expression "bVar26 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (if_statement "if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }" if (parenthesized_expression "((!bVar28 && !bVar26) == bVar28)" ( (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier) )) (compound_statement "{\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }" { (expression_statement "local_44 = uVar9 + uVar12;" (assignment_expression "local_44 = uVar9 + uVar12" identifier = (binary_expression "uVar9 + uVar12" identifier + identifier)) ;) (expression_statement "local_40 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_40 = (uint)CARRY4(uVar9,uVar12)" identifier = (cast_expression "(uint)CARRY4(uVar9,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar12)" identifier (argument_list "(uVar9,uVar12)" ( identifier , identifier ))))) ;) (expression_statement "local_3c = uVar12;" (assignment_expression "local_3c = uVar12" identifier = identifier) ;) (goto_statement "goto joined_r0x00066360;" goto statement_identifier ;) })) }))) (expression_statement "bVar26 = 0xfffffffe < local_c4;" (assignment_expression "bVar26 = 0xfffffffe < local_c4" identifier = (binary_expression "0xfffffffe < local_c4" number_literal < identifier)) ;) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" identifier = (binary_expression "local_c4 + 1" identifier + number_literal)) ;) (expression_statement "local_c0 = local_c0 + (uint)bVar26;" (assignment_expression "local_c0 = local_c0 + (uint)bVar26" identifier = (binary_expression "local_c0 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar26 = 0xffffffd7 < local_8c;" (assignment_expression "bVar26 = 0xffffffd7 < local_8c" identifier = (binary_expression "0xffffffd7 < local_8c" number_literal < identifier)) ;) (expression_statement "local_8c = local_8c + 0x28;" (assignment_expression "local_8c = local_8c + 0x28" identifier = (binary_expression "local_8c + 0x28" identifier + number_literal)) ;) (expression_statement "local_88 = local_88 + (uint)bVar26;" (assignment_expression "local_88 = local_88 + (uint)bVar26" identifier = (binary_expression "local_88 + (uint)bVar26" identifier + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar27 = false;" (assignment_expression "uVar27 = false" identifier = false) ;) (expression_statement "uVar29 = local_c0 == 0 && uVar11 == local_c4;" (assignment_expression "uVar29 = local_c0 == 0 && uVar11 == local_c4" identifier = (binary_expression "local_c0 == 0 && uVar11 == local_c4" (binary_expression "local_c0 == 0" identifier == number_literal) && (binary_expression "uVar11 == local_c4" identifier == identifier))) ;) }) while (parenthesized_expression "(local_c0 != 0 || uVar11 != local_c4)" ( (binary_expression "local_c0 != 0 || uVar11 != local_c4" (binary_expression "local_c0 != 0" identifier != number_literal) || (binary_expression "uVar11 != local_c4" identifier != identifier)) )) ;) }))) (expression_statement "iVar8 = xmalloc(local_4c);" (assignment_expression "iVar8 = xmalloc(local_4c)" identifier = (call_expression "xmalloc(local_4c)" identifier (argument_list "(local_4c)" ( identifier )))) ;) (expression_statement "bfd_seek(iVar7,local_34,local_30,0);" (call_expression "bfd_seek(iVar7,local_34,local_30,0)" identifier (argument_list "(iVar7,local_34,local_30,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "bfd_bread(iVar8,local_4c,local_50,iVar7);" (call_expression "bfd_bread(iVar8,local_4c,local_50,iVar7)" identifier (argument_list "(iVar8,local_4c,local_50,iVar7)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar10 = iVar8 - uVar10;" (assignment_expression "uVar10 = iVar8 - uVar10" identifier = (binary_expression "iVar8 - uVar10" identifier - identifier)) ;) (if_statement "if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }" if (parenthesized_expression "(DAT_001d1218 == 0)" ( (binary_expression "DAT_001d1218 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_001d1218 = FUN_000589a0();\n      }" { (expression_statement "DAT_001d1218 = FUN_000589a0();" (assignment_expression "DAT_001d1218 = FUN_000589a0()" identifier = (call_expression "FUN_000589a0()" identifier (argument_list "()" ( )))) ;) })) (expression_statement "bVar1 = *(byte *)(iVar8 + 0x18);" (assignment_expression "bVar1 = *(byte *)(iVar8 + 0x18)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x18)" * (cast_expression "(byte *)(iVar8 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = *(byte *)(iVar8 + 0x19);" (assignment_expression "bVar2 = *(byte *)(iVar8 + 0x19)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x19)" * (cast_expression "(byte *)(iVar8 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x19)" ( (binary_expression "iVar8 + 0x19" identifier + number_literal) ))))) ;) (expression_statement "bVar3 = *(byte *)(iVar8 + 0x1b);" (assignment_expression "bVar3 = *(byte *)(iVar8 + 0x1b)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x1b)" * (cast_expression "(byte *)(iVar8 + 0x1b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1b)" ( (binary_expression "iVar8 + 0x1b" identifier + number_literal) ))))) ;) (expression_statement "bVar4 = *(byte *)(iVar8 + 0x1a);" (assignment_expression "bVar4 = *(byte *)(iVar8 + 0x1a)" identifier = (pointer_expression "*(byte *)(iVar8 + 0x1a)" * (cast_expression "(byte *)(iVar8 + 0x1a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1a)" ( (binary_expression "iVar8 + 0x1a" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint3 *)(iVar8 + 0x20);" (assignment_expression "uVar5 = *(uint3 *)(iVar8 + 0x20)" identifier = (pointer_expression "*(uint3 *)(iVar8 + 0x20)" * (cast_expression "(uint3 *)(iVar8 + 0x20)" ( (type_descriptor "uint3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x20)" ( (binary_expression "iVar8 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_80 = (uint)*(byte *)(iVar8 + 0x23);" (assignment_expression "local_80 = (uint)*(byte *)(iVar8 + 0x23)" identifier = (binary_expression "(uint)*(byte *)(iVar8 + 0x23)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar8 + 0x23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x23)" ( (binary_expression "iVar8 + 0x23" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint3 *)(iVar8 + 0x1c);" (assignment_expression "uVar6 = *(uint3 *)(iVar8 + 0x1c)" identifier = (pointer_expression "*(uint3 *)(iVar8 + 0x1c)" * (cast_expression "(uint3 *)(iVar8 + 0x1c)" ( (type_descriptor "uint3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_98 = (uint)*(byte *)(iVar8 + 0x1f);" (assignment_expression "local_98 = (uint)*(byte *)(iVar8 + 0x1f)" identifier = (binary_expression "(uint)*(byte *)(iVar8 + 0x1f)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar8 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1f)" ( (binary_expression "iVar8 + 0x1f" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(iVar8 + 0xc) + uVar10;" (assignment_expression "iVar8 = *(int *)(iVar8 + 0xc) + uVar10" identifier = (binary_expression "*(int *)(iVar8 + 0xc) + uVar10" (pointer_expression "*(int *)(iVar8 + 0xc)" * (cast_expression "(int *)(iVar8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar7 = FUN_00059010(DAT_001d1218,iVar8);" (assignment_expression "iVar7 = FUN_00059010(DAT_001d1218,iVar8)" identifier = (call_expression "FUN_00059010(DAT_001d1218,iVar8)" identifier (argument_list "(DAT_001d1218,iVar8)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }" { (expression_statement "iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;" (assignment_expression "iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000" identifier = (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100" (binary_expression "(uint)bVar4 * 0x10000" (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (binary_expression "(uint)bVar2 * 0x100" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)bVar3 * 0x1000000" (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal))) ;) (expression_statement "iVar16 = (uint)uVar5 + local_80 * 0x1000000;" (assignment_expression "iVar16 = (uint)uVar5 + local_80 * 0x1000000" identifier = (binary_expression "(uint)uVar5 + local_80 * 0x1000000" (cast_expression "(uint)uVar5" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "local_80 * 0x1000000" identifier * number_literal))) ;) (expression_statement "iVar20 = (uint)uVar6 + local_98 * 0x1000000;" (assignment_expression "iVar20 = (uint)uVar6 + local_98 * 0x1000000" identifier = (binary_expression "(uint)uVar6 + local_98 * 0x1000000" (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "local_98 * 0x1000000" identifier * number_literal))) ;) (expression_statement "puVar22 = (ushort *)(iVar16 + uVar10);" (assignment_expression "puVar22 = (ushort *)(iVar16 + uVar10)" identifier = (cast_expression "(ushort *)(iVar16 + uVar10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + uVar10)" ( (binary_expression "iVar16 + uVar10" identifier + identifier) )))) ;) (expression_statement "iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );" (assignment_expression "iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             )" identifier = (call_expression "FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             )" identifier (argument_list "(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             )" ( identifier , identifier , (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + 3)" ( (binary_expression "(int)puVar22 + 3" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*puVar22" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)(byte)puVar22[1] * 0x10000" (cast_expression "(uint)(byte)puVar22[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar22[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar22[1]" identifier [ number_literal ]))) * number_literal)) + identifier) , identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (compound_statement "{\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }" { (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (if_statement "if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }" { (do_statement "do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);" do (compound_statement "{\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            }" { (expression_statement "iVar17 = 5;" (assignment_expression "iVar17 = 5" identifier = number_literal) ;) (expression_statement "uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" identifier = (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + 3)" ( (binary_expression "(int)puVar22 + 3" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*puVar22" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)(byte)puVar22[1] * 0x10000" (cast_expression "(uint)(byte)puVar22[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar22[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar22[1]" identifier [ number_literal ]))) * number_literal))) ;) (expression_statement "bVar26 = CARRY4(uVar9,uVar10);" (assignment_expression "bVar26 = CARRY4(uVar9,uVar10)" identifier = (call_expression "CARRY4(uVar9,uVar10)" identifier (argument_list "(uVar9,uVar10)" ( identifier , identifier )))) ;) (expression_statement "pbVar21 = (byte *)(uVar9 + uVar10);" (assignment_expression "pbVar21 = (byte *)(uVar9 + uVar10)" identifier = (cast_expression "(byte *)(uVar9 + uVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar9 + uVar10)" ( (binary_expression "uVar9 + uVar10" identifier + identifier) )))) ;) (expression_statement "bVar30 = pbVar21 == (byte *)0x0;" (assignment_expression "bVar30 = pbVar21 == (byte *)0x0" identifier = (binary_expression "pbVar21 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "pbVar23 = pbVar21;" (assignment_expression "pbVar23 = pbVar21" 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 (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);" do (compound_statement "{\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar23 < *pbVar24;" (assignment_expression "bVar26 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar30 = *pbVar23 == *pbVar24;" (assignment_expression "bVar30 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" identifier + (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (if_statement "if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }" if (parenthesized_expression "((!bVar26 && !bVar30) != bVar26)" ( (binary_expression "(!bVar26 && !bVar30) != bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" ( (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar30" ! identifier)) )) != identifier) )) (compound_statement "{\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }" { (expression_statement "local_28[0] = 0;" (assignment_expression "local_28[0] = 0" (subscript_expression "local_28[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000" identifier = (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16))" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + iVar20 + (3 - iVar16))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + iVar20 + (3 - iVar16))" ( (binary_expression "(int)puVar22 + iVar20 + (3 - iVar16)" (binary_expression "(int)puVar22 + iVar20" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (parenthesized_expression "(3 - iVar16)" ( (binary_expression "3 - iVar16" number_literal - identifier) ))) )))) * number_literal) + (cast_expression "(uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" identifier (argument_list "(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" ( (pointer_expression "*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16))" * (cast_expression "(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + iVar20 + (1 - iVar16))" ( (binary_expression "(int)puVar22 + iVar20 + (1 - iVar16)" (binary_expression "(int)puVar22 + iVar20" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (parenthesized_expression "(1 - iVar16)" ( (binary_expression "1 - iVar16" number_literal - identifier) ))) )))) , (pointer_expression "*(undefined1 *)((int)puVar22 + (iVar20 - iVar16))" * (cast_expression "(undefined1 *)((int)puVar22 + (iVar20 - iVar16))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + (iVar20 - iVar16))" ( (binary_expression "(int)puVar22 + (iVar20 - iVar16)" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(iVar20 - iVar16)" ( (binary_expression "iVar20 - iVar16" identifier - identifier) ))) )))) ))))) + (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16))" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar22 + iVar20 + (2 - iVar16))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + iVar20 + (2 - iVar16))" ( (binary_expression "(int)puVar22 + iVar20 + (2 - iVar16)" (binary_expression "(int)puVar22 + iVar20" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (parenthesized_expression "(2 - iVar16)" ( (binary_expression "2 - iVar16" number_literal - identifier) ))) )))) * number_literal))) ;) (if_statement "if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }" if (parenthesized_expression "(((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))))" ( (binary_expression "((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" (parenthesized_expression "((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70))" ( (binary_expression "(uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" (parenthesized_expression "(uVar9 < local_7c)" ( (binary_expression "uVar9 < local_7c" identifier < identifier) )) || (parenthesized_expression "(uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" ( (comma_expression "uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (assignment_expression "uVar11 = 1" identifier = number_literal) , (binary_expression "local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (binary_expression "local_70 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_74) <= -local_70" (call_expression "(uint)(uVar9 < local_74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_74)" ( (binary_expression "uVar9 < local_74" identifier < identifier) ))) <= (unary_expression "-local_70" - identifier)))) ))) )) && (parenthesized_expression "((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" ( (parenthesized_expression "(uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))" ( (binary_expression "uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" (binary_expression "uVar9 < local_68" identifier < identifier) || (parenthesized_expression "(uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" ( (comma_expression "uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (assignment_expression "uVar11 = 1" identifier = number_literal) , (binary_expression "local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (binary_expression "local_58 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_5c) <= -local_58" (call_expression "(uint)(uVar9 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_5c)" ( (binary_expression "uVar9 < local_5c" identifier < identifier) ))) <= (unary_expression "-local_58" - identifier)))) ))) )) ))) )) (compound_statement "{\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }" { (expression_statement "uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);" (assignment_expression "uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" identifier = (call_expression "(uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" ( (binary_expression "(local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9" (parenthesized_expression "(local_40 != 0 || -local_40 < (uint)(uVar9 < local_44))" ( (binary_expression "local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)" (binary_expression "local_40 != 0" identifier != number_literal) || (binary_expression "-local_40 < (uint)(uVar9 < local_44)" (unary_expression "-local_40" - identifier) < (call_expression "(uint)(uVar9 < local_44)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_44)" ( (binary_expression "uVar9 < local_44" identifier < identifier) ))))) )) && (binary_expression "local_3c <= uVar9" identifier <= identifier)) )))) ;) })) (expression_statement "iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);" (assignment_expression "iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28)" identifier = (call_expression "FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28)" identifier (argument_list "(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28)" ( identifier , identifier , identifier , identifier , number_literal , number_literal , identifier )))) ;) (if_statement "if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }" if (parenthesized_expression "(local_28[0] == 0)" ( (binary_expression "local_28[0] == 0" (subscript_expression "local_28[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }" { (expression_statement "*(uint *)(iVar17 + 0x14) = uVar11;" (assignment_expression "*(uint *)(iVar17 + 0x14) = uVar11" (pointer_expression "*(uint *)(iVar17 + 0x14)" * (cast_expression "(uint *)(iVar17 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }" if (parenthesized_expression "(DAT_001d11fc != 0)" ( (binary_expression "DAT_001d11fc != 0" identifier != number_literal) )) (compound_statement "{\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }" { (expression_statement "pcVar18 = "(data)";" (assignment_expression "pcVar18 = "(data)"" identifier = (string_literal ""(data)"" " string_content ")) ;) (if_statement "if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar18 = "";\n                  }" { (expression_statement "pcVar18 = "";" (assignment_expression "pcVar18 = """ identifier = (string_literal """" " ")) ;) })) (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pe_implied_import_dll"" " string_content ") , identifier , identifier , identifier , identifier ))) ;) })) })) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" identifier = (binary_expression "local_c4 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 2;" (assignment_expression "puVar22 = puVar22 + 2" identifier = (binary_expression "puVar22 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 != local_c4)" ( (binary_expression "iVar7 != local_c4" identifier != identifier) )) ;) })) }) (else_clause "else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" else (if_statement "if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" { (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "puVar25 = (ushort *)(iVar20 + uVar10);" (assignment_expression "puVar25 = (ushort *)(iVar20 + uVar10)" identifier = (cast_expression "(ushort *)(iVar20 + uVar10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + uVar10)" ( (binary_expression "iVar20 + uVar10" identifier + identifier) )))) ;) (do_statement "do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);" do (compound_statement "{\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          }" { (expression_statement "uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000" identifier = (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25" (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar25 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)puVar25 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 3)" ( (binary_expression "(int)puVar25 + 3" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) + (binary_expression "(uint)*puVar25" (parenthesized_expression "(uint)" ( identifier )) * identifier)) + (binary_expression "(uint)(byte)puVar25[1] * 0x10000" (cast_expression "(uint)(byte)puVar25[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar25[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar25[1]" identifier [ number_literal ]))) * number_literal))) ;) (expression_statement "iVar20 = uVar10 + *(int *)puVar22;" (assignment_expression "iVar20 = uVar10 + *(int *)puVar22" identifier = (binary_expression "uVar10 + *(int *)puVar22" identifier + (pointer_expression "*(int *)puVar22" * (cast_expression "(int *)puVar22" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (if_statement "if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }" if (parenthesized_expression "((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40))))" ( (binary_expression "(((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))" (parenthesized_expression "(((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))))" ( (binary_expression "((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" (parenthesized_expression "((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70))" ( (binary_expression "(uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" (parenthesized_expression "(uVar9 < local_7c)" ( (binary_expression "uVar9 < local_7c" identifier < identifier) )) || (parenthesized_expression "(local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" ( (binary_expression "local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (binary_expression "local_70 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_74) <= -local_70" (call_expression "(uint)(uVar9 < local_74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_74)" ( (binary_expression "uVar9 < local_74" identifier < identifier) ))) <= (unary_expression "-local_70" - identifier))) ))) )) && (parenthesized_expression "((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" ( (parenthesized_expression "(uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))" ( (binary_expression "uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" (binary_expression "uVar9 < local_68" identifier < identifier) || (parenthesized_expression "(local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" ( (binary_expression "local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (binary_expression "local_58 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_5c) <= -local_58" (call_expression "(uint)(uVar9 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_5c)" ( (binary_expression "uVar9 < local_5c" identifier < identifier) ))) <= (unary_expression "-local_58" - identifier))) ))) )) ))) )) && (parenthesized_expression "((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))" ( (parenthesized_expression "(uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40))" ( (binary_expression "uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)" (binary_expression "uVar9 < local_3c" identifier < identifier) || (parenthesized_expression "(local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)" ( (binary_expression "local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40" (binary_expression "local_40 == 0" identifier == number_literal) && (binary_expression "(uint)(uVar9 < local_44) <= -local_40" (call_expression "(uint)(uVar9 < local_44)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_44)" ( (binary_expression "uVar9 < local_44" identifier < identifier) ))) <= (unary_expression "-local_40" - identifier))) ))) )) ))) )) (compound_statement "{\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }" { (expression_statement "iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);" (assignment_expression "iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" identifier = (call_expression "FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" identifier (argument_list "(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" ( identifier , (binary_expression "local_c4 + iVar17" identifier + identifier) , identifier , identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar16 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar16 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar16 + 0x14)" * (cast_expression "(undefined4 *)(iVar16 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }" if (parenthesized_expression "(DAT_001d11fc != 0)" ( (binary_expression "DAT_001d11fc != 0" identifier != number_literal) )) (compound_statement "{\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }" { (expression_statement "pcVar18 = "";" (assignment_expression "pcVar18 = """ identifier = (string_literal """" " ")) ;) (labeled_statement "LAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);" statement_identifier : (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18)" identifier (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18)" ( (string_literal ""%s dll-name: %s sym: %s addr: 0x%lx %s\n"" " string_content escape_sequence ") , (string_literal ""pe_implied_import_dll"" " string_content ") , identifier , identifier , identifier , identifier ))) ;)) })) }) (else_clause "else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }" else (compound_statement "{\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }" { (expression_statement "iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);" (assignment_expression "iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" identifier = (call_expression "FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" identifier (argument_list "(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" ( identifier , (binary_expression "local_c4 + iVar17" identifier + identifier) , identifier , identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar16 = DAT_001d11fc;" (assignment_expression "iVar16 = DAT_001d11fc" identifier = identifier) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 1;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 1" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" * (cast_expression "(undefined4 *)(iVar19 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar18 = "(data)";" (assignment_expression "pcVar18 = "(data)"" identifier = (string_literal ""(data)"" " string_content ")) ;) (if_statement "if (iVar16 != 0) goto LAB_00066b30;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00066b30;" goto statement_identifier ;)) }))) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" identifier = (binary_expression "local_c4 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 2;" (assignment_expression "puVar22 = puVar22 + 2" identifier = (binary_expression "puVar22 + 2" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar25 + 2;" (assignment_expression "puVar25 = puVar25 + 2" identifier = (binary_expression "puVar25 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 != local_c4)" ( (binary_expression "iVar7 != local_c4" identifier != identifier) )) ;) })))) }) (else_clause "else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }" else (if_statement "if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }" if (parenthesized_expression "(DAT_001d11fc != 0)" ( (binary_expression "DAT_001d11fc != 0" identifier != number_literal) )) (compound_statement "{\n        printf("%s is already loaded\n",iVar8);\n      }" { (expression_statement "printf("%s is already loaded\n",iVar8);" (call_expression "printf("%s is already loaded\n",iVar8)" identifier (argument_list "("%s is already loaded\n",iVar8)" ( (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 TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 ))) ;) (return_statement return LIT ;) })) (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 ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , 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) ;) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (unary_expression - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) , IDENT )))) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < (call_expression IDENT (argument_list ( IDENT , IDENT )))) || (binary_expression (binary_expression IDENT - (call_expression IDENT (argument_list ( IDENT , IDENT )))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (binary_expression IDENT + IDENT)) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression IDENT < IDENT) )))) ;) })) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != IDENT)) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 = (binary_expression LIT < IDENT)) ;) (expression_statement (assignment_expression 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 (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) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , 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 ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (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 , (binary_expression IDENT + IDENT) , IDENT ))) ;) }))) }) (else_clause else (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 = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( 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 (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != IDENT)) )) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , 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 = (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 = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (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 IDENT (argument_list ( IDENT , IDENT , (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (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 = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (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 = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (parenthesized_expression ( (binary_expression LIT - IDENT) ))) )))) * LIT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (parenthesized_expression ( (binary_expression LIT - IDENT) ))) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) )))) ))))) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + 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 (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) <= (unary_expression - IDENT)))) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) <= (unary_expression - IDENT)))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (unary_expression - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) && (binary_expression IDENT <= IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , 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 (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " ")) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT , IDENT , 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 = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (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 (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) <= (unary_expression - IDENT))) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) <= (unary_expression - IDENT))) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) <= (unary_expression - IDENT))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + IDENT) , IDENT , IDENT , IDENT , LIT , LIT )))) ;) (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 (assignment_expression IDENT = (string_literal " ")) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , IDENT , IDENT , IDENT , IDENT ))) ;)) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + IDENT) , IDENT , IDENT , IDENT , 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) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (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_00066060(undefined4 param_1)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  uint3 uVar5;\n  uint3 uVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int iVar19;\n  int iVar20;\n  byte *pbVar21;\n  ushort *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  ushort *puVar25;\n  bool bVar26;\n  undefined1 uVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  uint local_c4;\n  int local_c0;\n  uint local_ac;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  uint local_98;\n  uint local_8c;\n  int local_88;\n  uint local_80;\n  uint local_7c;\n  uint local_74;\n  uint local_70;\n  uint local_68;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  uint local_4c;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  int local_34;\n  int local_30;\n  int local_28 [2];\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  bVar31 = 0;\n  uStack_14 = 0x66069;\n  iVar7 = bfd_openr(param_1,*DAT_001d127c);\n  if (iVar7 == 0) {\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  iVar8 = bfd_check_format(iVar7,1);\n  if (iVar8 == 0) {\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  uVar9 = FUN_000619e0();\n  iVar8 = FUN_000619e0();\n  if (iVar8 != 0) {\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }\n  }\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "FUN_00066060(undefined4 param_1)" (identifier "FUN_00066060") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")"))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  uint3 uVar5;\n  uint3 uVar6;\n  int iVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  char *pcVar18;\n  int iVar19;\n  int iVar20;\n  byte *pbVar21;\n  ushort *puVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  ushort *puVar25;\n  bool bVar26;\n  undefined1 uVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  uint local_c4;\n  int local_c0;\n  uint local_ac;\n  int local_a8;\n  uint local_a4;\n  int local_a0;\n  uint local_98;\n  uint local_8c;\n  int local_88;\n  uint local_80;\n  uint local_7c;\n  uint local_74;\n  uint local_70;\n  uint local_68;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  uint local_4c;\n  uint local_44;\n  uint local_40;\n  uint local_3c;\n  int local_34;\n  int local_30;\n  int local_28 [2];\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  bVar31 = 0;\n  uStack_14 = 0x66069;\n  iVar7 = bfd_openr(param_1,*DAT_001d127c);\n  if (iVar7 == 0) {\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  iVar8 = bfd_check_format(iVar7,1);\n  if (iVar8 == 0) {\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }\n  uVar9 = FUN_000619e0();\n  iVar8 = FUN_000619e0();\n  if (iVar8 != 0) {\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\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 "uint3 uVar5;" (type_identifier "uint3") (identifier "uVar5") (; ";")) (declaration "uint3 uVar6;" (type_identifier "uint3") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (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 "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "char *pcVar18;" (primitive_type "char") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (declaration "ushort *puVar22;" (type_identifier "ushort") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "byte *pbVar23;" (type_identifier "byte") (pointer_declarator "*pbVar23" (* "*") (identifier "pbVar23")) (; ";")) (declaration "byte *pbVar24;" (type_identifier "byte") (pointer_declarator "*pbVar24" (* "*") (identifier "pbVar24")) (; ";")) (declaration "ushort *puVar25;" (type_identifier "ushort") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "bool bVar26;" (primitive_type "bool") (identifier "bVar26") (; ";")) (declaration "undefined1 uVar27;" (type_identifier "undefined1") (identifier "uVar27") (; ";")) (declaration "bool bVar28;" (primitive_type "bool") (identifier "bVar28") (; ";")) (declaration "undefined1 uVar29;" (type_identifier "undefined1") (identifier "uVar29") (; ";")) (declaration "bool bVar30;" (primitive_type "bool") (identifier "bVar30") (; ";")) (declaration "byte bVar31;" (type_identifier "byte") (identifier "bVar31") (; ";")) (declaration "uint local_c4;" (type_identifier "uint") (identifier "local_c4") (; ";")) (declaration "int local_c0;" (primitive_type "int") (identifier "local_c0") (; ";")) (declaration "uint local_ac;" (type_identifier "uint") (identifier "local_ac") (; ";")) (declaration "int local_a8;" (primitive_type "int") (identifier "local_a8") (; ";")) (declaration "uint local_a4;" (type_identifier "uint") (identifier "local_a4") (; ";")) (declaration "int local_a0;" (primitive_type "int") (identifier "local_a0") (; ";")) (declaration "uint local_98;" (type_identifier "uint") (identifier "local_98") (; ";")) (declaration "uint local_8c;" (type_identifier "uint") (identifier "local_8c") (; ";")) (declaration "int local_88;" (primitive_type "int") (identifier "local_88") (; ";")) (declaration "uint local_80;" (type_identifier "uint") (identifier "local_80") (; ";")) (declaration "uint local_7c;" (type_identifier "uint") (identifier "local_7c") (; ";")) (declaration "uint local_74;" (type_identifier "uint") (identifier "local_74") (; ";")) (declaration "uint local_70;" (type_identifier "uint") (identifier "local_70") (; ";")) (declaration "uint local_68;" (type_identifier "uint") (identifier "local_68") (; ";")) (declaration "uint local_5c;" (type_identifier "uint") (identifier "local_5c") (; ";")) (declaration "uint local_58;" (type_identifier "uint") (identifier "local_58") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "uint local_4c;" (type_identifier "uint") (identifier "local_4c") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int local_28 [2];" (primitive_type "int") (array_declarator "local_28 [2]" (identifier "local_28") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined1 local_20;" (type_identifier "undefined1") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar31 = 0;" (assignment_expression "bVar31 = 0" (identifier "bVar31") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x66069;" (assignment_expression "uStack_14 = 0x66069" (identifier "uStack_14") (= "=") (number_literal "0x66069")) (; ";")) (expression_statement "iVar7 = bfd_openr(param_1,*DAT_001d127c);" (assignment_expression "iVar7 = bfd_openr(param_1,*DAT_001d127c)" (identifier "iVar7") (= "=") (call_expression "bfd_openr(param_1,*DAT_001d127c)" (identifier "bfd_openr") (argument_list "(param_1,*DAT_001d127c)" (( "(") (identifier "param_1") (, ",") (pointer_expression "*DAT_001d127c" (* "*") (identifier "DAT_001d127c")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" ({ "{") (expression_statement "uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);" (assignment_expression "uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5)" (identifier "uVar15") (= "=") (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_00034d20(uVar15,param_1);" (call_expression "FUN_00034d20(uVar15,param_1)" (identifier "FUN_00034d20") (argument_list "(uVar15,param_1)" (( "(") (identifier "uVar15") (, ",") (identifier "param_1") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar8 = bfd_check_format(iVar7,1);" (assignment_expression "iVar8 = bfd_check_format(iVar7,1)" (identifier "iVar8") (= "=") (call_expression "bfd_check_format(iVar7,1)" (identifier "bfd_check_format") (argument_list "(iVar7,1)" (( "(") (identifier "iVar7") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);\n    FUN_00034d20(uVar15,param_1);\n    return 0;\n  }" ({ "{") (expression_statement "uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);" (assignment_expression "uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5)" (identifier "uVar15") (= "=") (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_00034d20(uVar15,param_1);" (call_expression "FUN_00034d20(uVar15,param_1)" (identifier "FUN_00034d20") (argument_list "(uVar15,param_1)" (( "(") (identifier "uVar15") (, ",") (identifier "param_1") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar9 = FUN_000619e0();" (assignment_expression "uVar9 = FUN_000619e0()" (identifier "uVar9") (= "=") (call_expression "FUN_000619e0()" (identifier "FUN_000619e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar8 = FUN_000619e0();" (assignment_expression "iVar8 = FUN_000619e0()" (identifier "iVar8") (= "=") (call_expression "FUN_000619e0()" (identifier "FUN_000619e0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }\n  }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar10 = FUN_000619e0();\n    local_4c = FUN_000619e0();\n    local_50 = 0;\n    if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }\n  }" ({ "{") (expression_statement "uVar10 = FUN_000619e0();" (assignment_expression "uVar10 = FUN_000619e0()" (identifier "uVar10") (= "=") (call_expression "FUN_000619e0()" (identifier "FUN_000619e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_4c = FUN_000619e0();" (assignment_expression "local_4c = FUN_000619e0()" (identifier "local_4c") (= "=") (call_expression "FUN_000619e0()" (identifier "FUN_000619e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_4c != 0) {\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }" (if "if") (parenthesized_expression "(local_4c != 0)" (( "(") (binary_expression "local_4c != 0" (identifier "local_4c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar11 = FUN_00061990();\n      uVar12 = FUN_00061990();\n      local_8c = uVar9 + 0x18 + uVar12;\n      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);\n      if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }\n      iVar8 = xmalloc(local_4c);\n      bfd_seek(iVar7,local_34,local_30,0);\n      bfd_bread(iVar8,local_4c,local_50,iVar7);\n      uVar10 = iVar8 - uVar10;\n      if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }\n      bVar1 = *(byte *)(iVar8 + 0x18);\n      bVar2 = *(byte *)(iVar8 + 0x19);\n      bVar3 = *(byte *)(iVar8 + 0x1b);\n      bVar4 = *(byte *)(iVar8 + 0x1a);\n      uVar5 = *(uint3 *)(iVar8 + 0x20);\n      local_80 = (uint)*(byte *)(iVar8 + 0x23);\n      uVar6 = *(uint3 *)(iVar8 + 0x1c);\n      local_98 = (uint)*(byte *)(iVar8 + 0x1f);\n      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;\n      iVar7 = FUN_00059010(DAT_001d1218,iVar8);\n      if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }\n      return 1;\n    }" ({ "{") (expression_statement "uVar11 = FUN_00061990();" (assignment_expression "uVar11 = FUN_00061990()" (identifier "uVar11") (= "=") (call_expression "FUN_00061990()" (identifier "FUN_00061990") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar12 = FUN_00061990();" (assignment_expression "uVar12 = FUN_00061990()" (identifier "uVar12") (= "=") (call_expression "FUN_00061990()" (identifier "FUN_00061990") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_8c = uVar9 + 0x18 + uVar12;" (assignment_expression "local_8c = uVar9 + 0x18 + uVar12" (identifier "local_8c") (= "=") (binary_expression "uVar9 + 0x18 + uVar12" (binary_expression "uVar9 + 0x18" (identifier "uVar9") (+ "+") (number_literal "0x18")) (+ "+") (identifier "uVar12"))) (; ";")) (expression_statement "local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);" (assignment_expression "local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12)" (identifier "local_88") (= "=") (binary_expression "(uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12)" (call_expression "(uint)(0xffffffe7 < uVar9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xffffffe7 < uVar9)" (( "(") (binary_expression "0xffffffe7 < uVar9" (number_literal "0xffffffe7") (< "<") (identifier "uVar9")) () ")"))) (+ "+") (cast_expression "(uint)CARRY4(uVar9 + 0x18,uVar12)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar9 + 0x18,uVar12)" (identifier "CARRY4") (argument_list "(uVar9 + 0x18,uVar12)" (( "(") (binary_expression "uVar9 + 0x18" (identifier "uVar9") (+ "+") (number_literal "0x18")) (, ",") (identifier "uVar12") () ")")))))) (; ";")) (if_statement "if (uVar11 == 0) {\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }\n      else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" (if "if") (parenthesized_expression "(uVar11 == 0)" (( "(") (binary_expression "uVar11 == 0" (identifier "uVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_34 = 0;\n        local_30 = 0;\n        local_40 = 0;\n        local_58 = 0;\n        local_70 = 0;\n        local_3c = 1;\n        local_68 = 1;\n        local_7c = 1;\n        local_74 = 0;\n        local_5c = 0;\n        local_44 = 0;\n      }" ({ "{") (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" (identifier "local_3c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_68 = 1;" (assignment_expression "local_68 = 1" (identifier "local_68") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" (else "else") (compound_statement "{\n        local_a4 = 0;\n        local_a0 = 0;\n        local_ac = local_8c;\n        local_a8 = local_88;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);\n        local_34 = 0;\n        local_30 = 0;\nLAB_0006627d:\n        local_44 = 0;\n        local_40 = 0;\n        uVar27 = 0xfffffff7 < local_8c;\n        uVar29 = local_8c == 0xfffffff8;\n        local_5c = 0;\n        local_3c = 1;\n        local_58 = 0;\n        local_68 = 1;\n        local_74 = 0;\n        local_70 = 0;\n        local_7c = 1;\n        local_c4 = 0;\n        local_c0 = 0;\n        do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);\n      }" ({ "{") (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" (identifier "local_a4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ac = local_8c;" (assignment_expression "local_ac = local_8c" (identifier "local_ac") (= "=") (identifier "local_8c")) (; ";")) (expression_statement "local_a8 = local_88;" (assignment_expression "local_a8 = local_88" (identifier "local_a8") (= "=") (identifier "local_88")) (; ";")) (do_statement "do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        } while (local_a0 != 0 || uVar11 != local_a4);" (do "do") (compound_statement "{\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar13 = FUN_000619e0();\n          bfd_seek(iVar7,local_ac,local_a8,0);\n          bfd_bread(local_28,8,0,iVar7);\n          if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }\n          bVar26 = 0xfffffffe < local_a4;\n          local_a4 = local_a4 + 1;\n          local_a0 = local_a0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_ac;\n          local_ac = local_ac + 0x28;\n          local_a8 = local_a8 + (uint)bVar26;\n        }" ({ "{") (expression_statement "uVar9 = FUN_000619e0();" (assignment_expression "uVar9 = FUN_000619e0()" (identifier "uVar9") (= "=") (call_expression "FUN_000619e0()" (identifier "FUN_000619e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar12 = FUN_000619e0();" (assignment_expression "uVar12 = FUN_000619e0()" (identifier "uVar12") (= "=") (call_expression "FUN_000619e0()" (identifier "FUN_000619e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar13 = FUN_000619e0();" (assignment_expression "uVar13 = FUN_000619e0()" (identifier "uVar13") (= "=") (call_expression "FUN_000619e0()" (identifier "FUN_000619e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bfd_seek(iVar7,local_ac,local_a8,0);" (call_expression "bfd_seek(iVar7,local_ac,local_a8,0)" (identifier "bfd_seek") (argument_list "(iVar7,local_ac,local_a8,0)" (( "(") (identifier "iVar7") (, ",") (identifier "local_ac") (, ",") (identifier "local_a8") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "bfd_bread(local_28,8,0,iVar7);" (call_expression "bfd_bread(local_28,8,0,iVar7)" (identifier "bfd_bread") (argument_list "(local_28,8,0,iVar7)" (( "(") (identifier "local_28") (, ",") (number_literal "8") (, ",") (number_literal "0") (, ",") (identifier "iVar7") () ")"))) (; ";")) (if_statement "if (uVar9 <= uVar10) {\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }" (if "if") (parenthesized_expression "(uVar9 <= uVar10)" (( "(") (binary_expression "uVar9 <= uVar10" (identifier "uVar9") (<= "<=") (identifier "uVar10")) () ")")) (compound_statement "{\n            uVar14 = uVar12 + uVar9;\n            uVar12 = (uint)CARRY4(uVar12,uVar9);\n            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }\n          }" ({ "{") (expression_statement "uVar14 = uVar12 + uVar9;" (assignment_expression "uVar14 = uVar12 + uVar9" (identifier "uVar14") (= "=") (binary_expression "uVar12 + uVar9" (identifier "uVar12") (+ "+") (identifier "uVar9"))) (; ";")) (expression_statement "uVar12 = (uint)CARRY4(uVar12,uVar9);" (assignment_expression "uVar12 = (uint)CARRY4(uVar12,uVar9)" (identifier "uVar12") (= "=") (cast_expression "(uint)CARRY4(uVar12,uVar9)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar12,uVar9)" (identifier "CARRY4") (argument_list "(uVar12,uVar9)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar9") () ")"))))) (; ";")) (if_statement "if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }" (if "if") (parenthesized_expression "(uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14))" (( "(") (binary_expression "uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)" (binary_expression "uVar12 != 0" (identifier "uVar12") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "-uVar12 < (uint)(uVar10 < uVar14)" (unary_expression "-uVar12" (- "-") (identifier "uVar12")) (< "<") (call_expression "(uint)(uVar10 < uVar14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar10 < uVar14)" (( "(") (binary_expression "uVar10 < uVar14" (identifier "uVar10") (< "<") (identifier "uVar14")) () ")"))))) () ")")) (compound_statement "{\n              local_34 = (uVar13 - uVar9) + uVar10;\n              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);\n              if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }\n              goto LAB_0006627d;\n            }" ({ "{") (expression_statement "local_34 = (uVar13 - uVar9) + uVar10;" (assignment_expression "local_34 = (uVar13 - uVar9) + uVar10" (identifier "local_34") (= "=") (binary_expression "(uVar13 - uVar9) + uVar10" (parenthesized_expression "(uVar13 - uVar9)" (( "(") (binary_expression "uVar13 - uVar9" (identifier "uVar13") (- "-") (identifier "uVar9")) () ")")) (+ "+") (identifier "uVar10"))) (; ";")) (expression_statement "local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);" (assignment_expression "local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9)" (identifier "local_30") (= "=") (binary_expression "(uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9)" (cast_expression "(uint)CARRY4(uVar13 - uVar9,uVar10)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar13 - uVar9,uVar10)" (identifier "CARRY4") (argument_list "(uVar13 - uVar9,uVar10)" (( "(") (binary_expression "uVar13 - uVar9" (identifier "uVar13") (- "-") (identifier "uVar9")) (, ",") (identifier "uVar10") () ")")))) (- "-") (call_expression "(uint)(uVar13 < uVar9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar13 < uVar9)" (( "(") (binary_expression "uVar13 < uVar9" (identifier "uVar13") (< "<") (identifier "uVar9")) () ")"))))) (; ";")) (if_statement "if (uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }" (if "if") (parenthesized_expression "(uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c))" (( "(") (binary_expression "uVar12 < CARRY4(uVar10,local_4c) ||\n                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)" (binary_expression "uVar12 < CARRY4(uVar10,local_4c)" (identifier "uVar12") (< "<") (call_expression "CARRY4(uVar10,local_4c)" (identifier "CARRY4") (argument_list "(uVar10,local_4c)" (( "(") (identifier "uVar10") (, ",") (identifier "local_4c") () ")")))) (|| "||") (binary_expression "uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)" (binary_expression "uVar12 - CARRY4(uVar10,local_4c)" (identifier "uVar12") (- "-") (call_expression "CARRY4(uVar10,local_4c)" (identifier "CARRY4") (argument_list "(uVar10,local_4c)" (( "(") (identifier "uVar10") (, ",") (identifier "local_4c") () ")")))) (< "<") (call_expression "(uint)(uVar14 < uVar10 + local_4c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 < uVar10 + local_4c)" (( "(") (binary_expression "uVar14 < uVar10 + local_4c" (identifier "uVar14") (< "<") (binary_expression "uVar10 + local_4c" (identifier "uVar10") (+ "+") (identifier "local_4c"))) () ")"))))) () ")")) (compound_statement "{\n                local_4c = uVar14 - uVar10;\n                local_50 = uVar12 - (uVar14 < uVar10);\n              }" ({ "{") (expression_statement "local_4c = uVar14 - uVar10;" (assignment_expression "local_4c = uVar14 - uVar10" (identifier "local_4c") (= "=") (binary_expression "uVar14 - uVar10" (identifier "uVar14") (- "-") (identifier "uVar10"))) (; ";")) (expression_statement "local_50 = uVar12 - (uVar14 < uVar10);" (assignment_expression "local_50 = uVar12 - (uVar14 < uVar10)" (identifier "local_50") (= "=") (binary_expression "uVar12 - (uVar14 < uVar10)" (identifier "uVar12") (- "-") (parenthesized_expression "(uVar14 < uVar10)" (( "(") (binary_expression "uVar14 < uVar10" (identifier "uVar14") (< "<") (identifier "uVar10")) () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_0006627d;" (goto "goto") (statement_identifier "LAB_0006627d") (; ";")) (} "}"))) (} "}"))) (expression_statement "bVar26 = 0xfffffffe < local_a4;" (assignment_expression "bVar26 = 0xfffffffe < local_a4" (identifier "bVar26") (= "=") (binary_expression "0xfffffffe < local_a4" (number_literal "0xfffffffe") (< "<") (identifier "local_a4"))) (; ";")) (expression_statement "local_a4 = local_a4 + 1;" (assignment_expression "local_a4 = local_a4 + 1" (identifier "local_a4") (= "=") (binary_expression "local_a4 + 1" (identifier "local_a4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_a0 = local_a0 + (uint)bVar26;" (assignment_expression "local_a0 = local_a0 + (uint)bVar26" (identifier "local_a0") (= "=") (binary_expression "local_a0 + (uint)bVar26" (identifier "local_a0") (+ "+") (cast_expression "(uint)bVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar26")))) (; ";")) (expression_statement "bVar26 = 0xffffffd7 < local_ac;" (assignment_expression "bVar26 = 0xffffffd7 < local_ac" (identifier "bVar26") (= "=") (binary_expression "0xffffffd7 < local_ac" (number_literal "0xffffffd7") (< "<") (identifier "local_ac"))) (; ";")) (expression_statement "local_ac = local_ac + 0x28;" (assignment_expression "local_ac = local_ac + 0x28" (identifier "local_ac") (= "=") (binary_expression "local_ac + 0x28" (identifier "local_ac") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "local_a8 = local_a8 + (uint)bVar26;" (assignment_expression "local_a8 = local_a8 + (uint)bVar26" (identifier "local_a8") (= "=") (binary_expression "local_a8 + (uint)bVar26" (identifier "local_a8") (+ "+") (cast_expression "(uint)bVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar26")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_a0 != 0 || uVar11 != local_a4)" (( "(") (binary_expression "local_a0 != 0 || uVar11 != local_a4" (binary_expression "local_a0 != 0" (identifier "local_a0") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uVar11 != local_a4" (identifier "uVar11") (!= "!=") (identifier "local_a4"))) () ")")) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0006627d:\n        local_44 = 0;" (statement_identifier "LAB_0006627d") (: ":") (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar27 = 0xfffffff7 < local_8c;" (assignment_expression "uVar27 = 0xfffffff7 < local_8c" (identifier "uVar27") (= "=") (binary_expression "0xfffffff7 < local_8c" (number_literal "0xfffffff7") (< "<") (identifier "local_8c"))) (; ";")) (expression_statement "uVar29 = local_8c == 0xfffffff8;" (assignment_expression "uVar29 = local_8c == 0xfffffff8" (identifier "uVar29") (= "=") (binary_expression "local_8c == 0xfffffff8" (identifier "local_8c") (== "==") (number_literal "0xfffffff8"))) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3c = 1;" (assignment_expression "local_3c = 1" (identifier "local_3c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = 1;" (assignment_expression "local_68 = 1" (identifier "local_68") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7c = 1;" (assignment_expression "local_7c = 1" (identifier "local_7c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" (identifier "local_c4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" (identifier "local_c0") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        } while (local_c0 != 0 || uVar11 != local_c4);" (do "do") (compound_statement "{\n          uVar9 = FUN_000619e0();\n          uVar12 = FUN_000619e0();\n          uVar15 = FUN_000619e0();\n          local_20 = 0;\n          bfd_seek(iVar7,local_8c,local_88,0);\n          bfd_bread(local_28,8,0,iVar7);\n          iVar8 = 6;\n          pbVar23 = (byte *)local_28;\n          pbVar24 = (byte *)0xaed93;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);\n          bVar26 = false;\n          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;\n          if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }\n          bVar26 = 0xfffffffe < local_c4;\n          local_c4 = local_c4 + 1;\n          local_c0 = local_c0 + (uint)bVar26;\n          bVar26 = 0xffffffd7 < local_8c;\n          local_8c = local_8c + 0x28;\n          local_88 = local_88 + (uint)bVar26;\n          uVar27 = false;\n          uVar29 = local_c0 == 0 && uVar11 == local_c4;\n        }" ({ "{") (expression_statement "uVar9 = FUN_000619e0();" (assignment_expression "uVar9 = FUN_000619e0()" (identifier "uVar9") (= "=") (call_expression "FUN_000619e0()" (identifier "FUN_000619e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar12 = FUN_000619e0();" (assignment_expression "uVar12 = FUN_000619e0()" (identifier "uVar12") (= "=") (call_expression "FUN_000619e0()" (identifier "FUN_000619e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar15 = FUN_000619e0();" (assignment_expression "uVar15 = FUN_000619e0()" (identifier "uVar15") (= "=") (call_expression "FUN_000619e0()" (identifier "FUN_000619e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" (identifier "local_20") (= "=") (number_literal "0")) (; ";")) (expression_statement "bfd_seek(iVar7,local_8c,local_88,0);" (call_expression "bfd_seek(iVar7,local_8c,local_88,0)" (identifier "bfd_seek") (argument_list "(iVar7,local_8c,local_88,0)" (( "(") (identifier "iVar7") (, ",") (identifier "local_8c") (, ",") (identifier "local_88") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "bfd_bread(local_28,8,0,iVar7);" (call_expression "bfd_bread(local_28,8,0,iVar7)" (identifier "bfd_bread") (argument_list "(local_28,8,0,iVar7)" (( "(") (identifier "local_28") (, ",") (number_literal "8") (, ",") (number_literal "0") (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "iVar8 = 6;" (assignment_expression "iVar8 = 6" (identifier "iVar8") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar23 = (byte *)local_28;" (assignment_expression "pbVar23 = (byte *)local_28" (identifier "pbVar23") (= "=") (cast_expression "(byte *)local_28" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28"))) (; ";")) (expression_statement "pbVar24 = (byte *)0xaed93;" (assignment_expression "pbVar24 = (byte *)0xaed93" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0xaed93" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xaed93"))) (; ";")) (do_statement "do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          } while ((bool)uVar29);" (do "do") (compound_statement "{\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            uVar27 = *pbVar23 < *pbVar24;\n            uVar29 = *pbVar23 == *pbVar24;\n            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar8 == 0) break;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar27 = *pbVar23 < *pbVar24;" (assignment_expression "uVar27 = *pbVar23 < *pbVar24" (identifier "uVar27") (= "=") (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (< "<") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")))) (; ";")) (expression_statement "uVar29 = *pbVar23 == *pbVar24;" (assignment_expression "uVar29 = *pbVar23 == *pbVar24" (identifier "uVar29") (= "=") (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (== "==") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")))) (; ";")) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" (identifier "pbVar23") (= "=") (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" (identifier "pbVar23") (+ "+") (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bool)uVar29)" (( "(") (cast_expression "(bool)uVar29" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar29")) () ")")) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;" (assignment_expression "bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27" (identifier "bVar30") (= "=") (binary_expression "(!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27" (parenthesized_expression "(!(bool)uVar27 && !(bool)uVar29)" (( "(") (binary_expression "!(bool)uVar27 && !(bool)uVar29" (unary_expression "!(bool)uVar27" (! "!") (cast_expression "(bool)uVar27" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar27"))) (&& "&&") (unary_expression "!(bool)uVar29" (! "!") (cast_expression "(bool)uVar29" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar29")))) () ")")) (== "==") (cast_expression "(bool)uVar27" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar27")))) (; ";")) (if_statement "if (bVar30) {\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }\n          else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" (if "if") (parenthesized_expression "(bVar30)" (( "(") (identifier "bVar30") () ")")) (compound_statement "{\n            local_74 = uVar9 + uVar12;\n            local_70 = (uint)CARRY4(uVar9,uVar12);\n            local_7c = uVar12;\njoined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }\n          }" ({ "{") (expression_statement "local_74 = uVar9 + uVar12;" (assignment_expression "local_74 = uVar9 + uVar12" (identifier "local_74") (= "=") (binary_expression "uVar9 + uVar12" (identifier "uVar9") (+ "+") (identifier "uVar12"))) (; ";")) (expression_statement "local_70 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_70 = (uint)CARRY4(uVar9,uVar12)" (identifier "local_70") (= "=") (cast_expression "(uint)CARRY4(uVar9,uVar12)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar9,uVar12)" (identifier "CARRY4") (argument_list "(uVar9,uVar12)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar12") () ")"))))) (; ";")) (expression_statement "local_7c = uVar12;" (assignment_expression "local_7c = uVar12" (identifier "local_7c") (= "=") (identifier "uVar12")) (; ";")) (labeled_statement "joined_r0x00066360:\n            if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }" (statement_identifier "joined_r0x00066360") (: ":") (if_statement "if (DAT_001d11fc != 0) {\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }" (if "if") (parenthesized_expression "(DAT_001d11fc != 0)" (( "(") (binary_expression "DAT_001d11fc != 0" (identifier "DAT_001d11fc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);\n            }" ({ "{") (expression_statement "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15);" (call_expression "printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15)" (identifier "printf") (argument_list "("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,\n                     uVar9 + uVar12,uVar15)" (( "(") (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 ""pe_implied_import_dll"" (" """) (string_content "pe_implied_import_dll") (" """)) (, ",") (identifier "local_28") (, ",") (identifier "uVar12") (, ",") (binary_expression "uVar9 + uVar12" (identifier "uVar9") (+ "+") (identifier "uVar12")) (, ",") (identifier "uVar15") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" (else "else") (compound_statement "{\n            iVar8 = 7;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)".rdata";\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);\n            bVar28 = false;\n            bVar26 = (!bVar26 && !bVar30) == bVar26;\n            if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }\n            iVar8 = 5;\n            pbVar23 = (byte *)local_28;\n            pbVar24 = (byte *)0xaed9f;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);\n            if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }\n          }" ({ "{") (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" (identifier "iVar8") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar23 = (byte *)local_28;" (assignment_expression "pbVar23 = (byte *)local_28" (identifier "pbVar23") (= "=") (cast_expression "(byte *)local_28" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28"))) (; ";")) (expression_statement "pbVar24 = (byte *)".rdata";" (assignment_expression "pbVar24 = (byte *)".rdata"" (identifier "pbVar24") (= "=") (cast_expression "(byte *)".rdata"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".rdata"" (" """) (string_content ".rdata") (" """)))) (; ";")) (do_statement "do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar30);" (do "do") (compound_statement "{\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar26 = *pbVar23 < *pbVar24;\n              bVar30 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            }" ({ "{") (if_statement "if (iVar8 == 0) break;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar23 < *pbVar24;" (assignment_expression "bVar26 = *pbVar23 < *pbVar24" (identifier "bVar26") (= "=") (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (< "<") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")))) (; ";")) (expression_statement "bVar30 = *pbVar23 == *pbVar24;" (assignment_expression "bVar30 = *pbVar23 == *pbVar24" (identifier "bVar30") (= "=") (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (== "==") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")))) (; ";")) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" (identifier "pbVar23") (= "=") (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" (identifier "pbVar23") (+ "+") (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar30)" (( "(") (identifier "bVar30") () ")")) (; ";")) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" (identifier "bVar28") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar26 && !bVar30) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar30) == bVar26" (identifier "bVar26") (= "=") (binary_expression "(!bVar26 && !bVar30) == bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" (( "(") (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar30" (! "!") (identifier "bVar30"))) () ")")) (== "==") (identifier "bVar26"))) (; ";")) (if_statement "if (bVar26) {\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }" (if "if") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (compound_statement "{\n              local_5c = uVar9 + uVar12;\n              local_58 = (uint)CARRY4(uVar9,uVar12);\n              local_68 = uVar12;\n              goto joined_r0x00066360;\n            }" ({ "{") (expression_statement "local_5c = uVar9 + uVar12;" (assignment_expression "local_5c = uVar9 + uVar12" (identifier "local_5c") (= "=") (binary_expression "uVar9 + uVar12" (identifier "uVar9") (+ "+") (identifier "uVar12"))) (; ";")) (expression_statement "local_58 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_58 = (uint)CARRY4(uVar9,uVar12)" (identifier "local_58") (= "=") (cast_expression "(uint)CARRY4(uVar9,uVar12)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar9,uVar12)" (identifier "CARRY4") (argument_list "(uVar9,uVar12)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar12") () ")"))))) (; ";")) (expression_statement "local_68 = uVar12;" (assignment_expression "local_68 = uVar12" (identifier "local_68") (= "=") (identifier "uVar12")) (; ";")) (goto_statement "goto joined_r0x00066360;" (goto "goto") (statement_identifier "joined_r0x00066360") (; ";")) (} "}"))) (expression_statement "iVar8 = 5;" (assignment_expression "iVar8 = 5" (identifier "iVar8") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar23 = (byte *)local_28;" (assignment_expression "pbVar23 = (byte *)local_28" (identifier "pbVar23") (= "=") (cast_expression "(byte *)local_28" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28"))) (; ";")) (expression_statement "pbVar24 = (byte *)0xaed9f;" (assignment_expression "pbVar24 = (byte *)0xaed9f" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0xaed9f" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xaed9f"))) (; ";")) (do_statement "do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            } while (bVar26);" (do "do") (compound_statement "{\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar28 = *pbVar23 < *pbVar24;\n              bVar26 = *pbVar23 == *pbVar24;\n              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n            }" ({ "{") (if_statement "if (iVar8 == 0) break;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar28 = *pbVar23 < *pbVar24;" (assignment_expression "bVar28 = *pbVar23 < *pbVar24" (identifier "bVar28") (= "=") (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (< "<") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")))) (; ";")) (expression_statement "bVar26 = *pbVar23 == *pbVar24;" (assignment_expression "bVar26 = *pbVar23 == *pbVar24" (identifier "bVar26") (= "=") (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (== "==") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")))) (; ";")) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" (identifier "pbVar23") (= "=") (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" (identifier "pbVar23") (+ "+") (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (if_statement "if ((!bVar28 && !bVar26) == bVar28) {\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }" (if "if") (parenthesized_expression "((!bVar28 && !bVar26) == bVar28)" (( "(") (binary_expression "(!bVar28 && !bVar26) == bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" (( "(") (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" (! "!") (identifier "bVar28")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar28")) () ")")) (compound_statement "{\n              local_44 = uVar9 + uVar12;\n              local_40 = (uint)CARRY4(uVar9,uVar12);\n              local_3c = uVar12;\n              goto joined_r0x00066360;\n            }" ({ "{") (expression_statement "local_44 = uVar9 + uVar12;" (assignment_expression "local_44 = uVar9 + uVar12" (identifier "local_44") (= "=") (binary_expression "uVar9 + uVar12" (identifier "uVar9") (+ "+") (identifier "uVar12"))) (; ";")) (expression_statement "local_40 = (uint)CARRY4(uVar9,uVar12);" (assignment_expression "local_40 = (uint)CARRY4(uVar9,uVar12)" (identifier "local_40") (= "=") (cast_expression "(uint)CARRY4(uVar9,uVar12)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar9,uVar12)" (identifier "CARRY4") (argument_list "(uVar9,uVar12)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar12") () ")"))))) (; ";")) (expression_statement "local_3c = uVar12;" (assignment_expression "local_3c = uVar12" (identifier "local_3c") (= "=") (identifier "uVar12")) (; ";")) (goto_statement "goto joined_r0x00066360;" (goto "goto") (statement_identifier "joined_r0x00066360") (; ";")) (} "}"))) (} "}")))) (expression_statement "bVar26 = 0xfffffffe < local_c4;" (assignment_expression "bVar26 = 0xfffffffe < local_c4" (identifier "bVar26") (= "=") (binary_expression "0xfffffffe < local_c4" (number_literal "0xfffffffe") (< "<") (identifier "local_c4"))) (; ";")) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" (identifier "local_c4") (= "=") (binary_expression "local_c4 + 1" (identifier "local_c4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_c0 = local_c0 + (uint)bVar26;" (assignment_expression "local_c0 = local_c0 + (uint)bVar26" (identifier "local_c0") (= "=") (binary_expression "local_c0 + (uint)bVar26" (identifier "local_c0") (+ "+") (cast_expression "(uint)bVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar26")))) (; ";")) (expression_statement "bVar26 = 0xffffffd7 < local_8c;" (assignment_expression "bVar26 = 0xffffffd7 < local_8c" (identifier "bVar26") (= "=") (binary_expression "0xffffffd7 < local_8c" (number_literal "0xffffffd7") (< "<") (identifier "local_8c"))) (; ";")) (expression_statement "local_8c = local_8c + 0x28;" (assignment_expression "local_8c = local_8c + 0x28" (identifier "local_8c") (= "=") (binary_expression "local_8c + 0x28" (identifier "local_8c") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "local_88 = local_88 + (uint)bVar26;" (assignment_expression "local_88 = local_88 + (uint)bVar26" (identifier "local_88") (= "=") (binary_expression "local_88 + (uint)bVar26" (identifier "local_88") (+ "+") (cast_expression "(uint)bVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar26")))) (; ";")) (expression_statement "uVar27 = false;" (assignment_expression "uVar27 = false" (identifier "uVar27") (= "=") (false "false")) (; ";")) (expression_statement "uVar29 = local_c0 == 0 && uVar11 == local_c4;" (assignment_expression "uVar29 = local_c0 == 0 && uVar11 == local_c4" (identifier "uVar29") (= "=") (binary_expression "local_c0 == 0 && uVar11 == local_c4" (binary_expression "local_c0 == 0" (identifier "local_c0") (== "==") (number_literal "0")) (&& "&&") (binary_expression "uVar11 == local_c4" (identifier "uVar11") (== "==") (identifier "local_c4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_c0 != 0 || uVar11 != local_c4)" (( "(") (binary_expression "local_c0 != 0 || uVar11 != local_c4" (binary_expression "local_c0 != 0" (identifier "local_c0") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uVar11 != local_c4" (identifier "uVar11") (!= "!=") (identifier "local_c4"))) () ")")) (; ";")) (} "}")))) (expression_statement "iVar8 = xmalloc(local_4c);" (assignment_expression "iVar8 = xmalloc(local_4c)" (identifier "iVar8") (= "=") (call_expression "xmalloc(local_4c)" (identifier "xmalloc") (argument_list "(local_4c)" (( "(") (identifier "local_4c") () ")")))) (; ";")) (expression_statement "bfd_seek(iVar7,local_34,local_30,0);" (call_expression "bfd_seek(iVar7,local_34,local_30,0)" (identifier "bfd_seek") (argument_list "(iVar7,local_34,local_30,0)" (( "(") (identifier "iVar7") (, ",") (identifier "local_34") (, ",") (identifier "local_30") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "bfd_bread(iVar8,local_4c,local_50,iVar7);" (call_expression "bfd_bread(iVar8,local_4c,local_50,iVar7)" (identifier "bfd_bread") (argument_list "(iVar8,local_4c,local_50,iVar7)" (( "(") (identifier "iVar8") (, ",") (identifier "local_4c") (, ",") (identifier "local_50") (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "uVar10 = iVar8 - uVar10;" (assignment_expression "uVar10 = iVar8 - uVar10" (identifier "uVar10") (= "=") (binary_expression "iVar8 - uVar10" (identifier "iVar8") (- "-") (identifier "uVar10"))) (; ";")) (if_statement "if (DAT_001d1218 == 0) {\n        DAT_001d1218 = FUN_000589a0();\n      }" (if "if") (parenthesized_expression "(DAT_001d1218 == 0)" (( "(") (binary_expression "DAT_001d1218 == 0" (identifier "DAT_001d1218") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_001d1218 = FUN_000589a0();\n      }" ({ "{") (expression_statement "DAT_001d1218 = FUN_000589a0();" (assignment_expression "DAT_001d1218 = FUN_000589a0()" (identifier "DAT_001d1218") (= "=") (call_expression "FUN_000589a0()" (identifier "FUN_000589a0") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (expression_statement "bVar1 = *(byte *)(iVar8 + 0x18);" (assignment_expression "bVar1 = *(byte *)(iVar8 + 0x18)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(iVar8 + 0x18)" (* "*") (cast_expression "(byte *)(iVar8 + 0x18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x18)" (( "(") (binary_expression "iVar8 + 0x18" (identifier "iVar8") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "bVar2 = *(byte *)(iVar8 + 0x19);" (assignment_expression "bVar2 = *(byte *)(iVar8 + 0x19)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(iVar8 + 0x19)" (* "*") (cast_expression "(byte *)(iVar8 + 0x19)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x19)" (( "(") (binary_expression "iVar8 + 0x19" (identifier "iVar8") (+ "+") (number_literal "0x19")) () ")"))))) (; ";")) (expression_statement "bVar3 = *(byte *)(iVar8 + 0x1b);" (assignment_expression "bVar3 = *(byte *)(iVar8 + 0x1b)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(iVar8 + 0x1b)" (* "*") (cast_expression "(byte *)(iVar8 + 0x1b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1b)" (( "(") (binary_expression "iVar8 + 0x1b" (identifier "iVar8") (+ "+") (number_literal "0x1b")) () ")"))))) (; ";")) (expression_statement "bVar4 = *(byte *)(iVar8 + 0x1a);" (assignment_expression "bVar4 = *(byte *)(iVar8 + 0x1a)" (identifier "bVar4") (= "=") (pointer_expression "*(byte *)(iVar8 + 0x1a)" (* "*") (cast_expression "(byte *)(iVar8 + 0x1a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1a)" (( "(") (binary_expression "iVar8 + 0x1a" (identifier "iVar8") (+ "+") (number_literal "0x1a")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint3 *)(iVar8 + 0x20);" (assignment_expression "uVar5 = *(uint3 *)(iVar8 + 0x20)" (identifier "uVar5") (= "=") (pointer_expression "*(uint3 *)(iVar8 + 0x20)" (* "*") (cast_expression "(uint3 *)(iVar8 + 0x20)" (( "(") (type_descriptor "uint3 *" (type_identifier "uint3") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x20)" (( "(") (binary_expression "iVar8 + 0x20" (identifier "iVar8") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_80 = (uint)*(byte *)(iVar8 + 0x23);" (assignment_expression "local_80 = (uint)*(byte *)(iVar8 + 0x23)" (identifier "local_80") (= "=") (binary_expression "(uint)*(byte *)(iVar8 + 0x23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar8 + 0x23)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x23)" (( "(") (binary_expression "iVar8 + 0x23" (identifier "iVar8") (+ "+") (number_literal "0x23")) () ")"))))) (; ";")) (expression_statement "uVar6 = *(uint3 *)(iVar8 + 0x1c);" (assignment_expression "uVar6 = *(uint3 *)(iVar8 + 0x1c)" (identifier "uVar6") (= "=") (pointer_expression "*(uint3 *)(iVar8 + 0x1c)" (* "*") (cast_expression "(uint3 *)(iVar8 + 0x1c)" (( "(") (type_descriptor "uint3 *" (type_identifier "uint3") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1c)" (( "(") (binary_expression "iVar8 + 0x1c" (identifier "iVar8") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "local_98 = (uint)*(byte *)(iVar8 + 0x1f);" (assignment_expression "local_98 = (uint)*(byte *)(iVar8 + 0x1f)" (identifier "local_98") (= "=") (binary_expression "(uint)*(byte *)(iVar8 + 0x1f)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar8 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1f)" (( "(") (binary_expression "iVar8 + 0x1f" (identifier "iVar8") (+ "+") (number_literal "0x1f")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(iVar8 + 0xc) + uVar10;" (assignment_expression "iVar8 = *(int *)(iVar8 + 0xc) + uVar10" (identifier "iVar8") (= "=") (binary_expression "*(int *)(iVar8 + 0xc) + uVar10" (pointer_expression "*(int *)(iVar8 + 0xc)" (* "*") (cast_expression "(int *)(iVar8 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xc)" (( "(") (binary_expression "iVar8 + 0xc" (identifier "iVar8") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (identifier "uVar10"))) (; ";")) (expression_statement "iVar7 = FUN_00059010(DAT_001d1218,iVar8);" (assignment_expression "iVar7 = FUN_00059010(DAT_001d1218,iVar8)" (identifier "iVar7") (= "=") (call_expression "FUN_00059010(DAT_001d1218,iVar8)" (identifier "FUN_00059010") (argument_list "(DAT_001d1218,iVar8)" (( "(") (identifier "DAT_001d1218") (, ",") (identifier "iVar8") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }\n      else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;\n        iVar16 = (uint)uVar5 + local_80 * 0x1000000;\n        iVar20 = (uint)uVar6 + local_98 * 0x1000000;\n        puVar22 = (ushort *)(iVar16 + uVar10);\n        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );\n        if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }\n      }" ({ "{") (expression_statement "iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;" (assignment_expression "iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000" (identifier "iVar7") (= "=") (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1" (binary_expression "(uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100" (binary_expression "(uint)bVar4 * 0x10000" (cast_expression "(uint)bVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar4")) (* "*") (number_literal "0x10000")) (+ "+") (binary_expression "(uint)bVar2 * 0x100" (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2")) (* "*") (number_literal "0x100"))) (+ "+") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (+ "+") (binary_expression "(uint)bVar3 * 0x1000000" (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3")) (* "*") (number_literal "0x1000000")))) (; ";")) (expression_statement "iVar16 = (uint)uVar5 + local_80 * 0x1000000;" (assignment_expression "iVar16 = (uint)uVar5 + local_80 * 0x1000000" (identifier "iVar16") (= "=") (binary_expression "(uint)uVar5 + local_80 * 0x1000000" (cast_expression "(uint)uVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar5")) (+ "+") (binary_expression "local_80 * 0x1000000" (identifier "local_80") (* "*") (number_literal "0x1000000")))) (; ";")) (expression_statement "iVar20 = (uint)uVar6 + local_98 * 0x1000000;" (assignment_expression "iVar20 = (uint)uVar6 + local_98 * 0x1000000" (identifier "iVar20") (= "=") (binary_expression "(uint)uVar6 + local_98 * 0x1000000" (cast_expression "(uint)uVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar6")) (+ "+") (binary_expression "local_98 * 0x1000000" (identifier "local_98") (* "*") (number_literal "0x1000000")))) (; ";")) (expression_statement "puVar22 = (ushort *)(iVar16 + uVar10);" (assignment_expression "puVar22 = (ushort *)(iVar16 + uVar10)" (identifier "puVar22") (= "=") (cast_expression "(ushort *)(iVar16 + uVar10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + uVar10)" (( "(") (binary_expression "iVar16 + uVar10" (identifier "iVar16") (+ "+") (identifier "uVar10")) () ")")))) (; ";")) (expression_statement "iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             );" (assignment_expression "iVar17 = FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             )" (identifier "iVar17") (= "=") (call_expression "FUN_0005a380(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             )" (identifier "FUN_0005a380") (argument_list "(DAT_001d1218,iVar7,\n                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0\n                             )" (( "(") (identifier "DAT_001d1218") (, ",") (identifier "iVar7") (, ",") (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                              (uint)*puVar22" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)puVar22 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + 3)" (( "(") (binary_expression "(int)puVar22 + 3" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "3")) () ")")))) (* "*") (number_literal "0x1000000")) (+ "+") (binary_expression "(uint)*puVar22" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar22"))) (+ "+") (binary_expression "(uint)(byte)puVar22[1] * 0x10000" (cast_expression "(uint)(byte)puVar22[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar22[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]")))) (* "*") (number_literal "0x10000"))) (+ "+") (identifier "uVar10")) (, ",") (identifier "iVar8") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar17 < 0) {\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }\n        else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" (if "if") (parenthesized_expression "(iVar17 < 0)" (( "(") (binary_expression "iVar17 < 0" (identifier "iVar17") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          local_c4 = 0;\n          if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }\n        }" ({ "{") (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" (identifier "local_c4") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar7 != 0) {\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);\n          }" ({ "{") (do_statement "do {\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            } while (iVar7 != local_c4);" (do "do") (compound_statement "{\n              iVar17 = 5;\n              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;\n              bVar26 = CARRY4(uVar9,uVar10);\n              pbVar21 = (byte *)(uVar9 + uVar10);\n              bVar30 = pbVar21 == (byte *)0x0;\n              pbVar23 = pbVar21;\n              pbVar24 = (byte *)"__nm_";\n              do {\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);\n              if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }\n              local_c4 = local_c4 + 1;\n              puVar22 = puVar22 + 2;\n            }" ({ "{") (expression_statement "iVar17 = 5;" (assignment_expression "iVar17 = 5" (identifier "iVar17") (= "=") (number_literal "5")) (; ";")) (expression_statement "uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" (identifier "uVar9") (= "=") (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +\n                      (uint)*puVar22" (binary_expression "(uint)*(byte *)((int)puVar22 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)puVar22 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + 3)" (( "(") (binary_expression "(int)puVar22 + 3" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "3")) () ")")))) (* "*") (number_literal "0x1000000")) (+ "+") (binary_expression "(uint)*puVar22" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar22"))) (+ "+") (binary_expression "(uint)(byte)puVar22[1] * 0x10000" (cast_expression "(uint)(byte)puVar22[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar22[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]")))) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "bVar26 = CARRY4(uVar9,uVar10);" (assignment_expression "bVar26 = CARRY4(uVar9,uVar10)" (identifier "bVar26") (= "=") (call_expression "CARRY4(uVar9,uVar10)" (identifier "CARRY4") (argument_list "(uVar9,uVar10)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "pbVar21 = (byte *)(uVar9 + uVar10);" (assignment_expression "pbVar21 = (byte *)(uVar9 + uVar10)" (identifier "pbVar21") (= "=") (cast_expression "(byte *)(uVar9 + uVar10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar9 + uVar10)" (( "(") (binary_expression "uVar9 + uVar10" (identifier "uVar9") (+ "+") (identifier "uVar10")) () ")")))) (; ";")) (expression_statement "bVar30 = pbVar21 == (byte *)0x0;" (assignment_expression "bVar30 = pbVar21 == (byte *)0x0" (identifier "bVar30") (= "=") (binary_expression "pbVar21 == (byte *)0x0" (identifier "pbVar21") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (expression_statement "pbVar23 = pbVar21;" (assignment_expression "pbVar23 = pbVar21" (identifier "pbVar23") (= "=") (identifier "pbVar21")) (; ";")) (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 (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              } while (bVar30);" (do "do") (compound_statement "{\n                if (iVar17 == 0) break;\n                iVar17 = iVar17 + -1;\n                bVar26 = *pbVar23 < *pbVar24;\n                bVar30 = *pbVar23 == *pbVar24;\n                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;\n                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;\n              }" ({ "{") (if_statement "if (iVar17 == 0) break;" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + -1" (identifier "iVar17") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar23 < *pbVar24;" (assignment_expression "bVar26 = *pbVar23 < *pbVar24" (identifier "bVar26") (= "=") (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (< "<") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")))) (; ";")) (expression_statement "bVar30 = *pbVar23 == *pbVar24;" (assignment_expression "bVar30 = *pbVar23 == *pbVar24" (identifier "bVar30") (= "=") (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (== "==") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")))) (; ";")) (expression_statement "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1" (identifier "pbVar23") (= "=") (binary_expression "pbVar23 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar31 * -2" (identifier "pbVar23") (+ "+") (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (uint)bVar31 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar31 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar30)" (( "(") (identifier "bVar30") () ")")) (; ";")) (if_statement "if ((!bVar26 && !bVar30) != bVar26) {\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }" (if "if") (parenthesized_expression "((!bVar26 && !bVar30) != bVar26)" (( "(") (binary_expression "(!bVar26 && !bVar30) != bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" (( "(") (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar30" (! "!") (identifier "bVar30"))) () ")")) (!= "!=") (identifier "bVar26")) () ")")) (compound_statement "{\n                local_28[0] = 0;\n                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;\n                if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }\n                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);\n                if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }\n                if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }\n              }" ({ "{") (expression_statement "local_28[0] = 0;" (assignment_expression "local_28[0] = 0" (subscript_expression "local_28[0]" (identifier "local_28") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000" (identifier "uVar9") (= "=") (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +\n                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +\n                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)puVar22 + iVar20 + (3 - iVar16))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + iVar20 + (3 - iVar16))" (( "(") (binary_expression "(int)puVar22 + iVar20 + (3 - iVar16)" (binary_expression "(int)puVar22 + iVar20" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (identifier "iVar20")) (+ "+") (parenthesized_expression "(3 - iVar16)" (( "(") (binary_expression "3 - iVar16" (number_literal "3") (- "-") (identifier "iVar16")) () ")"))) () ")")))) (* "*") (number_literal "0x1000000")) (+ "+") (cast_expression "(uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" (identifier "CONCAT11") (argument_list "(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),\n                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16)))" (( "(") (pointer_expression "*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16))" (* "*") (cast_expression "(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16))" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + iVar20 + (1 - iVar16))" (( "(") (binary_expression "(int)puVar22 + iVar20 + (1 - iVar16)" (binary_expression "(int)puVar22 + iVar20" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (identifier "iVar20")) (+ "+") (parenthesized_expression "(1 - iVar16)" (( "(") (binary_expression "1 - iVar16" (number_literal "1") (- "-") (identifier "iVar16")) () ")"))) () ")")))) (, ",") (pointer_expression "*(undefined1 *)((int)puVar22 + (iVar20 - iVar16))" (* "*") (cast_expression "(undefined1 *)((int)puVar22 + (iVar20 - iVar16))" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + (iVar20 - iVar16))" (( "(") (binary_expression "(int)puVar22 + (iVar20 - iVar16)" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (parenthesized_expression "(iVar20 - iVar16)" (( "(") (binary_expression "iVar20 - iVar16" (identifier "iVar20") (- "-") (identifier "iVar16")) () ")"))) () ")")))) () ")"))))) (+ "+") (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)puVar22 + iVar20 + (2 - iVar16))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + iVar20 + (2 - iVar16))" (( "(") (binary_expression "(int)puVar22 + iVar20 + (2 - iVar16)" (binary_expression "(int)puVar22 + iVar20" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (identifier "iVar20")) (+ "+") (parenthesized_expression "(2 - iVar16)" (( "(") (binary_expression "2 - iVar16" (number_literal "2") (- "-") (identifier "iVar16")) () ")"))) () ")")))) (* "*") (number_literal "0x10000")))) (; ";")) (if_statement "if (((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }" (if "if") (parenthesized_expression "(((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))))" (( "(") (binary_expression "((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                   ((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" (parenthesized_expression "((uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70))" (( "(") (binary_expression "(uVar9 < local_7c) ||\n                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" (parenthesized_expression "(uVar9 < local_7c)" (( "(") (binary_expression "uVar9 < local_7c" (identifier "uVar9") (< "<") (identifier "local_7c")) () ")")) (|| "||") (parenthesized_expression "(uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" (( "(") (comma_expression "uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (, ",") (binary_expression "local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (binary_expression "local_70 == 0" (identifier "local_70") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(uVar9 < local_74) <= -local_70" (call_expression "(uint)(uVar9 < local_74)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 < local_74)" (( "(") (binary_expression "uVar9 < local_74" (identifier "uVar9") (< "<") (identifier "local_74")) () ")"))) (<= "<=") (unary_expression "-local_70" (- "-") (identifier "local_70"))))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" (( "(") (parenthesized_expression "(uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))" (( "(") (binary_expression "uVar9 < local_68 ||\n                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" (binary_expression "uVar9 < local_68" (identifier "uVar9") (< "<") (identifier "local_68")) (|| "||") (parenthesized_expression "(uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" (( "(") (comma_expression "uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (, ",") (binary_expression "local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (binary_expression "local_58 == 0" (identifier "local_58") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(uVar9 < local_5c) <= -local_58" (call_expression "(uint)(uVar9 < local_5c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 < local_5c)" (( "(") (binary_expression "uVar9 < local_5c" (identifier "uVar9") (< "<") (identifier "local_5c")) () ")"))) (<= "<=") (unary_expression "-local_58" (- "-") (identifier "local_58"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);\n                }" ({ "{") (expression_statement "uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9);" (assignment_expression "uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" (identifier "uVar11") (= "=") (call_expression "(uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9)" (( "(") (binary_expression "(local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&\n                                 local_3c <= uVar9" (parenthesized_expression "(local_40 != 0 || -local_40 < (uint)(uVar9 < local_44))" (( "(") (binary_expression "local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)" (binary_expression "local_40 != 0" (identifier "local_40") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "-local_40 < (uint)(uVar9 < local_44)" (unary_expression "-local_40" (- "-") (identifier "local_40")) (< "<") (call_expression "(uint)(uVar9 < local_44)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 < local_44)" (( "(") (binary_expression "uVar9 < local_44" (identifier "uVar9") (< "<") (identifier "local_44")) () ")"))))) () ")")) (&& "&&") (binary_expression "local_3c <= uVar9" (identifier "local_3c") (<= "<=") (identifier "uVar9"))) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);" (assignment_expression "iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28)" (identifier "iVar17") (= "=") (call_expression "FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28)" (identifier "FUN_00059050") (argument_list "(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28)" (( "(") (identifier "DAT_001d1218") (, ",") (identifier "pbVar21") (, ",") (identifier "iVar8") (, ",") (identifier "local_c4") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "local_28") () ")")))) (; ";")) (if_statement "if (local_28[0] == 0) {\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }" (if "if") (parenthesized_expression "(local_28[0] == 0)" (( "(") (binary_expression "local_28[0] == 0" (subscript_expression "local_28[0]" (identifier "local_28") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  *(uint *)(iVar17 + 0x14) = uVar11;\n                }" ({ "{") (expression_statement "*(uint *)(iVar17 + 0x14) = uVar11;" (assignment_expression "*(uint *)(iVar17 + 0x14) = uVar11" (pointer_expression "*(uint *)(iVar17 + 0x14)" (* "*") (cast_expression "(uint *)(iVar17 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x14)" (( "(") (binary_expression "iVar17 + 0x14" (identifier "iVar17") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (} "}"))) (if_statement "if (DAT_001d11fc != 0) {\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }" (if "if") (parenthesized_expression "(DAT_001d11fc != 0)" (( "(") (binary_expression "DAT_001d11fc != 0" (identifier "DAT_001d11fc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  pcVar18 = "(data)";\n                  if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }\n                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);\n                }" ({ "{") (expression_statement "pcVar18 = "(data)";" (assignment_expression "pcVar18 = "(data)"" (identifier "pcVar18") (= "=") (string_literal ""(data)"" (" """) (string_content "(data)") (" """))) (; ";")) (if_statement "if (uVar11 == 0) {\n                    pcVar18 = "";\n                  }" (if "if") (parenthesized_expression "(uVar11 == 0)" (( "(") (binary_expression "uVar11 == 0" (identifier "uVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    pcVar18 = "";\n                  }" ({ "{") (expression_statement "pcVar18 = "";" (assignment_expression "pcVar18 = """ (identifier "pcVar18") (= "=") (string_literal """" (" """) (" """))) (; ";")) (} "}"))) (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18)" (identifier "printf") (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                         pbVar21,uVar9,pcVar18)" (( "(") (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 ""pe_implied_import_dll"" (" """) (string_content "pe_implied_import_dll") (" """)) (, ",") (identifier "iVar8") (, ",") (identifier "pbVar21") (, ",") (identifier "uVar9") (, ",") (identifier "pcVar18") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" (identifier "local_c4") (= "=") (binary_expression "local_c4 + 1" (identifier "local_c4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar22 = puVar22 + 2;" (assignment_expression "puVar22 = puVar22 + 2" (identifier "puVar22") (= "=") (binary_expression "puVar22 + 2" (identifier "puVar22") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 != local_c4)" (( "(") (binary_expression "iVar7 != local_c4" (identifier "iVar7") (!= "!=") (identifier "local_c4")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" (else "else") (if_statement "if (iVar7 != 0) {\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_c4 = 0;\n          puVar25 = (ushort *)(iVar20 + uVar10);\n          do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);\n        }" ({ "{") (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" (identifier "local_c4") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar25 = (ushort *)(iVar20 + uVar10);" (assignment_expression "puVar25 = (ushort *)(iVar20 + uVar10)" (identifier "puVar25") (= "=") (cast_expression "(ushort *)(iVar20 + uVar10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + uVar10)" (( "(") (binary_expression "iVar20 + uVar10" (identifier "iVar20") (+ "+") (identifier "uVar10")) () ")")))) (; ";")) (do_statement "do {\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          } while (iVar7 != local_c4);" (do "do") (compound_statement "{\n            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;\n            iVar20 = uVar10 + *(int *)puVar22;\n            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }\n            local_c4 = local_c4 + 1;\n            puVar22 = puVar22 + 2;\n            puVar25 = puVar25 + 2;\n          }" ({ "{") (expression_statement "uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;" (assignment_expression "uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000" (identifier "uVar9") (= "=") (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000" (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +\n                    (uint)*puVar25" (binary_expression "(uint)*(byte *)((int)puVar25 + 3) * 0x1000000" (binary_expression "(uint)*(byte *)((int)puVar25 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)puVar25 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar25 + 3)" (( "(") (binary_expression "(int)puVar25 + 3" (cast_expression "(int)puVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar25")) (+ "+") (number_literal "3")) () ")")))) (* "*") (number_literal "0x1000000")) (+ "+") (binary_expression "(uint)*puVar25" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar25"))) (+ "+") (binary_expression "(uint)(byte)puVar25[1] * 0x10000" (cast_expression "(uint)(byte)puVar25[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar25[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar25[1]" (identifier "puVar25") ([ "[") (number_literal "1") (] "]")))) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "iVar20 = uVar10 + *(int *)puVar22;" (assignment_expression "iVar20 = uVar10 + *(int *)puVar22" (identifier "iVar20") (= "=") (binary_expression "uVar10 + *(int *)puVar22" (identifier "uVar10") (+ "+") (pointer_expression "*(int *)puVar22" (* "*") (cast_expression "(int *)puVar22" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar22"))))) (; ";")) (if_statement "if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }\n            else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }" (if "if") (parenthesized_expression "((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40))))" (( "(") (binary_expression "(((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&\n               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))" (parenthesized_expression "(((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))))" (( "(") (binary_expression "((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&\n                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" (parenthesized_expression "((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70))" (( "(") (binary_expression "(uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" (parenthesized_expression "(uVar9 < local_7c)" (( "(") (binary_expression "uVar9 < local_7c" (identifier "uVar9") (< "<") (identifier "local_7c")) () ")")) (|| "||") (parenthesized_expression "(local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)" (( "(") (binary_expression "local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70" (binary_expression "local_70 == 0" (identifier "local_70") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(uVar9 < local_74) <= -local_70" (call_expression "(uint)(uVar9 < local_74)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 < local_74)" (( "(") (binary_expression "uVar9 < local_74" (identifier "uVar9") (< "<") (identifier "local_74")) () ")"))) (<= "<=") (unary_expression "-local_70" (- "-") (identifier "local_70")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))" (( "(") (parenthesized_expression "(uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58))" (( "(") (binary_expression "uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" (binary_expression "uVar9 < local_68" (identifier "uVar9") (< "<") (identifier "local_68")) (|| "||") (parenthesized_expression "(local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)" (( "(") (binary_expression "local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58" (binary_expression "local_58 == 0" (identifier "local_58") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(uVar9 < local_5c) <= -local_58" (call_expression "(uint)(uVar9 < local_5c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 < local_5c)" (( "(") (binary_expression "uVar9 < local_5c" (identifier "uVar9") (< "<") (identifier "local_5c")) () ")"))) (<= "<=") (unary_expression "-local_58" (- "-") (identifier "local_58")))) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))" (( "(") (parenthesized_expression "(uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40))" (( "(") (binary_expression "uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)" (binary_expression "uVar9 < local_3c" (identifier "uVar9") (< "<") (identifier "local_3c")) (|| "||") (parenthesized_expression "(local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)" (( "(") (binary_expression "local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40" (binary_expression "local_40 == 0" (identifier "local_40") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(uVar9 < local_44) <= -local_40" (call_expression "(uint)(uVar9 < local_44)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 < local_44)" (( "(") (binary_expression "uVar9 < local_44" (identifier "uVar9") (< "<") (identifier "local_44")) () ")"))) (<= "<=") (unary_expression "-local_40" (- "-") (identifier "local_40")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              *(undefined4 *)(iVar16 + 0x14) = 0;\n              if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }\n            }" ({ "{") (expression_statement "iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);" (assignment_expression "iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" (identifier "iVar16") (= "=") (call_expression "FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" (identifier "FUN_0005a520") (argument_list "(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" (( "(") (identifier "DAT_001d1218") (, ",") (binary_expression "local_c4 + iVar17" (identifier "local_c4") (+ "+") (identifier "iVar17")) (, ",") (identifier "iVar20") (, ",") (identifier "iVar8") (, ",") (identifier "local_c4") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar16 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar16 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar16 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar16 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x14)" (( "(") (binary_expression "iVar16 + 0x14" (identifier "iVar16") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (DAT_001d11fc != 0) {\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }" (if "if") (parenthesized_expression "(DAT_001d11fc != 0)" (( "(") (binary_expression "DAT_001d11fc != 0" (identifier "DAT_001d11fc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                pcVar18 = "";\nLAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);\n              }" ({ "{") (expression_statement "pcVar18 = "";" (assignment_expression "pcVar18 = """ (identifier "pcVar18") (= "=") (string_literal """" (" """) (" """))) (; ";")) (labeled_statement "LAB_00066b30:\n                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);" (statement_identifier "LAB_00066b30") (: ":") (expression_statement "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18);" (call_expression "printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18)" (identifier "printf") (argument_list "("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,\n                       iVar20,uVar9,pcVar18)" (( "(") (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 ""pe_implied_import_dll"" (" """) (string_content "pe_implied_import_dll") (" """)) (, ",") (identifier "iVar8") (, ",") (identifier "iVar20") (, ",") (identifier "uVar9") (, ",") (identifier "pcVar18") () ")"))) (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }" (else "else") (compound_statement "{\n              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);\n              iVar16 = DAT_001d11fc;\n              *(undefined4 *)(iVar19 + 0x14) = 1;\n              pcVar18 = "(data)";\n              if (iVar16 != 0) goto LAB_00066b30;\n            }" ({ "{") (expression_statement "iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);" (assignment_expression "iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" (identifier "iVar19") (= "=") (call_expression "FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" (identifier "FUN_0005a520") (argument_list "(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0)" (( "(") (identifier "DAT_001d1218") (, ",") (binary_expression "local_c4 + iVar17" (identifier "local_c4") (+ "+") (identifier "iVar17")) (, ",") (identifier "iVar20") (, ",") (identifier "iVar8") (, ",") (identifier "local_c4") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar16 = DAT_001d11fc;" (assignment_expression "iVar16 = DAT_001d11fc" (identifier "iVar16") (= "=") (identifier "DAT_001d11fc")) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 1;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 1" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x14)" (( "(") (binary_expression "iVar19 + 0x14" (identifier "iVar19") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "pcVar18 = "(data)";" (assignment_expression "pcVar18 = "(data)"" (identifier "pcVar18") (= "=") (string_literal ""(data)"" (" """) (string_content "(data)") (" """))) (; ";")) (if_statement "if (iVar16 != 0) goto LAB_00066b30;" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00066b30;" (goto "goto") (statement_identifier "LAB_00066b30") (; ";"))) (} "}")))) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" (identifier "local_c4") (= "=") (binary_expression "local_c4 + 1" (identifier "local_c4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar22 = puVar22 + 2;" (assignment_expression "puVar22 = puVar22 + 2" (identifier "puVar22") (= "=") (binary_expression "puVar22 + 2" (identifier "puVar22") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar25 = puVar25 + 2;" (assignment_expression "puVar25 = puVar25 + 2" (identifier "puVar25") (= "=") (binary_expression "puVar25 + 2" (identifier "puVar25") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 != local_c4)" (( "(") (binary_expression "iVar7 != local_c4" (identifier "iVar7") (!= "!=") (identifier "local_c4")) () ")")) (; ";")) (} "}"))))) (} "}")) (else_clause "else if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }" (else "else") (if_statement "if (DAT_001d11fc != 0) {\n        printf("%s is already loaded\n",iVar8);\n      }" (if "if") (parenthesized_expression "(DAT_001d11fc != 0)" (( "(") (binary_expression "DAT_001d11fc != 0" (identifier "DAT_001d11fc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        printf("%s is already loaded\n",iVar8);\n      }" ({ "{") (expression_statement "printf("%s is already loaded\n",iVar8);" (call_expression "printf("%s is already loaded\n",iVar8)" (identifier "printf") (argument_list "("%s is already loaded\n",iVar8)" (( "(") (string_literal ""%s is already loaded\n"" (" """) (string_content "%s is already loaded") (escape_sequence "\n") (" """)) (, ",") (identifier "iVar8") () ")"))) (; ";")) (} "}"))))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

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

type_1 function_1(char *filename)

{
  int var_47;
  type_2 bVar2;
  type_2 bVar3;
  type_2 bVar4;
  type_2 bVar5;
  type_3 uVar6;
  type_3 uVar7;
  type_4 *var_2;
  int var_6;
  type_5 var_8;
  type_5 var_9;
  type_5 var_14;
  type_5 var_12;
  type_5 var_20;
  type_5 var_19;
  type_6 *var_39;
  int var_42;
  int var_45;
  type_7 *pdVar18;
  char *pcVar19;
  char *pcVar20;
  char *pcVar21;
  type_2 *var_46;
  type_8 *var_44;
  type_2 *var_26;
  type_2 *var_27;
  type_8 *var_59;
  bool var_30;
  type_9 uVar27;
  bool var_31;
  type_9 uVar29;
  bool bVar30;
  type_2 bVar31;
  type_5 var_32;
  int var_33;
  int var_25;
  int var_16;
  type_5 var_23;
  int var_24;
  type_5 var_21;
  int var_22;
  type_5 var_41;
  type_5 var_15;
  int var_34;
  type_5 var_40;
  type_5 var_49;
  type_5 var_51;
  type_5 var_50;
  type_5 var_52;
  type_5 var_54;
  type_5 var_53;
  int local_50;
  type_5 var_10;
  type_5 var_56;
  type_5 var_55;
  type_5 var_57;
  int local_34;
  int local_30;
  char sname [8];
  
  bVar31 = 0;
  var_2 = (type_4 *)var_1(filename,pe_details->target_name);
  if (var_2 == (type_4 *)0x0) {
    pcVar21 = (char *)var_3(0,"%X%P: open %s: %E\n",5);
    var_4(pcVar21,filename);
    return 0;
  }
  var_6 = var_5(var_2,1);
  if (var_6 == 0) {
    pcVar21 = (char *)var_3(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);
    var_4(pcVar21,filename);
    return 0;
  }
  var_8 = var_7(var_2,0x3c);
  var_9 = var_7(var_2,var_8 + 0x74);
  if (var_9 != 0) {
    var_9 = var_7(var_2,var_8 + 0x78);
    var_10 = var_7(var_2,var_8 + 0x7c);
    local_50 = 0;
    if (var_10 != 0) {
      var_14 = var_11(var_2,var_8 + 6);
      var_12 = var_11(var_2,var_8 + 0x14);
      var_15 = var_8 + 0x18 + var_12;
      var_34 = (type_5)(0xffffffe7 < var_8) + (type_5)var_13(var_8 + 0x18,var_12);
      if (var_14 == 0) {
        local_34 = 0;
        local_30 = 0;
        var_55 = 0;
        var_53 = 0;
        var_50 = 0;
        var_57 = 1;
        var_52 = 1;
        var_49 = 1;
        var_51 = 0;
        var_54 = 0;
        var_56 = 0;
      }
      else {
        var_16 = var_15 + 0xc;
        var_21 = 0;
        var_22 = 0;
        var_23 = var_15;
        var_24 = var_34;
        do {
          var_8 = var_7(var_2,var_16);
          var_12 = var_7(var_2,var_16 + 4);
          var_20 = var_7(var_2,var_16 + 8);
          var_17(var_2,var_23,var_24,0);
          var_18(sname,8,0,var_2);
          if (var_8 <= var_9) {
            var_19 = var_12 + var_8;
            var_12 = (type_5)var_13(var_12,var_8);
            if (var_12 != 0 || -var_12 < (type_5)(var_9 < var_19)) {
              local_34 = (var_20 - var_8) + var_9;
              local_30 = (type_5)var_13(var_20 - var_8,var_9) - (type_5)(var_20 < var_8);
              if (var_12 < var_13(var_9,var_10) ||
                  var_12 - var_13(var_9,var_10) < (type_5)(var_19 < var_9 + var_10)) {
                var_10 = var_19 - var_9;
                local_50 = var_12 - (var_19 < var_9);
              }
              goto LAB_0006627d;
            }
          }
          var_30 = 0xfffffffe < var_21;
          var_21 = var_21 + 1;
          var_22 = var_22 + (type_5)var_30;
          var_16 = var_16 + 0x28;
          var_30 = 0xffffffd7 < var_23;
          var_23 = var_23 + 0x28;
          var_24 = var_24 + (type_5)var_30;
        } while (var_22 != 0 || var_14 != var_21);
        local_34 = 0;
        local_30 = 0;
LAB_0006627d:
        var_56 = 0;
        var_55 = 0;
        uVar27 = 0xfffffff7 < var_15;
        var_25 = var_15 + 8;
        uVar29 = var_25 == 0;
        var_54 = 0;
        var_57 = 1;
        var_53 = 0;
        var_52 = 1;
        var_51 = 0;
        var_50 = 0;
        var_49 = 1;
        var_32 = 0;
        var_33 = 0;
        do {
          var_8 = var_7(var_2,var_25);
          var_12 = var_7(var_2,var_25 + 4);
          var_20 = var_7(var_2,var_25 + 0x1c);
          var_17(var_2,var_15,var_34,0);
          var_18(sname,8,0,var_2);
          var_6 = 6;
          var_26 = (type_2 *)sname;
          var_27 = (type_2 *)0xaed93;
          do {
            if (var_6 == 0) break;
            var_6 = var_6 + -1;
            uVar27 = *var_26 < *var_27;
            uVar29 = *var_26 == *var_27;
            var_26 = var_26 + (type_5)bVar31 * -2 + 1;
            var_27 = var_27 + (type_5)bVar31 * -2 + 1;
          } while ((bool)uVar29);
          var_30 = false;
          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;
          if (bVar30) {
            var_51 = var_8 + var_12;
            var_50 = (type_5)var_13(var_8,var_12);
            var_49 = var_12;
joined_r0x00066360:
            if (var_28 != 0) {
              var_29("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",sname,var_12,
                     var_8 + var_12,var_20);
            }
          }
          else {
            var_6 = 7;
            var_26 = (type_2 *)sname;
            var_27 = (type_2 *)".rdata";
            do {
              if (var_6 == 0) break;
              var_6 = var_6 + -1;
              var_30 = *var_26 < *var_27;
              bVar30 = *var_26 == *var_27;
              var_26 = var_26 + (type_5)bVar31 * -2 + 1;
              var_27 = var_27 + (type_5)bVar31 * -2 + 1;
            } while (bVar30);
            var_31 = false;
            var_30 = (!var_30 && !bVar30) == var_30;
            if (var_30) {
              var_54 = var_8 + var_12;
              var_53 = (type_5)var_13(var_8,var_12);
              var_52 = var_12;
              goto joined_r0x00066360;
            }
            var_6 = 5;
            var_26 = (type_2 *)sname;
            var_27 = (type_2 *)0xaed9f;
            do {
              if (var_6 == 0) break;
              var_6 = var_6 + -1;
              var_31 = *var_26 < *var_27;
              var_30 = *var_26 == *var_27;
              var_26 = var_26 + (type_5)bVar31 * -2 + 1;
              var_27 = var_27 + (type_5)bVar31 * -2 + 1;
            } while (var_30);
            if ((!var_31 && !var_30) == var_31) {
              var_56 = var_8 + var_12;
              var_55 = (type_5)var_13(var_8,var_12);
              var_57 = var_12;
              goto joined_r0x00066360;
            }
          }
          var_30 = 0xfffffffe < var_32;
          var_32 = var_32 + 1;
          var_33 = var_33 + (type_5)var_30;
          var_25 = var_25 + 0x28;
          var_30 = 0xffffffd7 < var_15;
          var_15 = var_15 + 0x28;
          var_34 = var_34 + (type_5)var_30;
          uVar27 = false;
          uVar29 = var_33 == 0 && var_14 == var_32;
        } while (var_33 != 0 || var_14 != var_32);
      }
      var_6 = var_35(var_10);
      var_17(var_2,local_34,local_30,0);
      var_18(var_6,var_10,local_50,var_2);
      var_9 = var_6 - var_9;
      if (var_36 == (type_10 *)0x0) {
        var_36 = var_37();
      }
      bVar2 = *(type_2 *)(var_6 + 0x18);
      bVar3 = *(type_2 *)(var_6 + 0x19);
      bVar4 = *(type_2 *)(var_6 + 0x1b);
      bVar5 = *(type_2 *)(var_6 + 0x1a);
      uVar6 = *(type_3 *)(var_6 + 0x20);
      var_40 = (type_5)*(type_2 *)(var_6 + 0x23);
      uVar7 = *(type_3 *)(var_6 + 0x1c);
      var_41 = (type_5)*(type_2 *)(var_6 + 0x1f);
      pcVar21 = (char *)(*(int *)(var_6 + 0xc) + var_9);
      var_39 = var_38(var_36,pcVar21);
      if (var_39 == (type_6 *)0x0) {
        var_6 = (type_5)bVar5 * 0x10000 + (type_5)bVar3 * 0x100 + (type_5)bVar2 + (type_5)bVar4 * 0x1000000;
        var_42 = (type_5)uVar6 + var_40 * 0x1000000;
        var_47 = (type_5)uVar7 + var_41 * 0x1000000;
        var_44 = (type_8 *)(var_42 + var_9);
        var_45 = var_43
                           (var_36,var_6,
                            (char *)((type_5)*(type_2 *)((int)var_44 + 3) * 0x1000000 +
                                     (type_5)*var_44 + (type_5)(type_2)var_44[1] * 0x10000 + var_9),
                            pcVar21,0,(char *)0x0,(char *)0x0);
        if (var_45 < 0) {
          var_32 = 0;
          if (var_6 != 0) {
            do {
              var_45 = 5;
              var_8 = (type_5)*(type_2 *)((int)var_44 + 3) * 0x1000000 +
                      (type_5)*var_44 + (type_5)(type_2)var_44[1] * 0x10000;
              var_30 = var_13(var_8,var_9);
              var_46 = (type_2 *)(var_8 + var_9);
              bVar30 = var_46 == (type_2 *)0x0;
              var_26 = var_46;
              var_27 = (type_2 *)"__nm_";
              do {
                if (var_45 == 0) break;
                var_45 = var_45 + -1;
                var_30 = *var_26 < *var_27;
                bVar30 = *var_26 == *var_27;
                var_26 = var_26 + (type_5)bVar31 * -2 + 1;
                var_27 = var_27 + (type_5)bVar31 * -2 + 1;
              } while (bVar30);
              if ((!var_30 && !bVar30) != var_30) {
                sname[0] = '\0';
                sname[1] = '\0';
                sname[2] = '\0';
                sname[3] = '\0';
                var_8 = (type_5)*(type_2 *)((int)var_44 + var_47 + (3 - var_42)) * 0x1000000 +
                        (type_5)var_48(*(type_9 *)((int)var_44 + var_47 + (1 - var_42)),
                                       *(type_9 *)((int)var_44 + (var_47 - var_42))) +
                        (type_5)*(type_2 *)((int)var_44 + var_47 + (2 - var_42)) * 0x10000;
                if (((var_8 < var_49) ||
                    (var_14 = 1, var_50 == 0 && (type_5)(var_8 < var_51) <= -var_50)) &&
                   ((var_8 < var_52 ||
                    (var_14 = 1, var_53 == 0 && (type_5)(var_8 < var_54) <= -var_53)))) {
                  var_14 = (type_5)((var_55 != 0 || -var_55 < (type_5)(var_8 < var_56)) &&
                                 var_57 <= var_8);
                }
                pdVar18 = var_58(var_36,(char *)var_46,pcVar21,var_32,(char *)0x0,
                                              (char *)0x0,(int *)sname);
                if (sname._0_4_ == 0) {
                  pdVar18->data = var_14;
                }
                if (var_28 != 0) {
                  pcVar20 = "(data)";
                  if (var_14 == 0) {
                    pcVar20 = "";
                  }
                  var_29("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,
                         var_46,var_8,pcVar20);
                }
              }
              var_32 = var_32 + 1;
              var_44 = var_44 + 2;
            } while (var_6 != var_32);
          }
        }
        else if (var_6 != 0) {
          var_32 = 0;
          var_59 = (type_8 *)(var_47 + var_9);
          do {
            var_8 = (type_5)*(type_2 *)((int)var_59 + 3) * 0x1000000 +
                    (type_5)*var_59 + (type_5)(type_2)var_59[1] * 0x10000;
            pcVar20 = (char *)(var_9 + *(int *)var_44);
            if ((((var_8 < var_49) || (var_50 == 0 && (type_5)(var_8 < var_51) <= -var_50)) &&
                ((var_8 < var_52 || (var_53 == 0 && (type_5)(var_8 < var_54) <= -var_53)))) &&
               ((var_8 < var_57 || (var_55 == 0 && (type_5)(var_8 < var_56) <= -var_55)))) {
              pdVar18 = var_60
                                  (var_36,var_32 + var_45,pcVar20,pcVar21,var_32,
                                   (char *)0x0,(char *)0x0);
              pdVar18->data = 0;
              if (var_28 != 0) {
                pcVar19 = "";
LAB_00066b30:
                var_29("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",pcVar21,
                       pcVar20,var_8,pcVar19);
              }
            }
            else {
              pdVar18 = var_60
                                  (var_36,var_32 + var_45,pcVar20,pcVar21,var_32,
                                   (char *)0x0,(char *)0x0);
              var_47 = var_28;
              pdVar18->data = 1;
              pcVar19 = "(data)";
              if (var_47 != 0) goto LAB_00066b30;
            }
            var_32 = var_32 + 1;
            var_44 = var_44 + 2;
            var_59 = var_59 + 2;
          } while (var_6 != var_32);
        }
      }
      else if (var_28 != 0) {
        var_29("%s is already loaded\n",pcVar21);
      }
      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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (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: (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: (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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (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)))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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)))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_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)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (unary_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) consequence: (compound_statement (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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (identifier)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (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 (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (compound_statement (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)) (identifier)))))))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (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) (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (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: (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) 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: (identifier) arguments: (argument_list (identifier) (identifier) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))))))) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))))))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (unary_expression argument: (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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (unary_expression argument: (identifier))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (unary_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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) (identifier) (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 (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (string_literal (string_content)) (identifier) (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))))) 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: (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)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (unary_expression argument: (identifier))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (unary_expression argument: (identifier)))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (unary_expression argument: (identifier)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (identifier)) (identifier) (identifier) (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (string_literal (string_content)) (identifier) (identifier) (identifier) (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (identifier)) (identifier) (identifier) (identifier) (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))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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)))))

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

undefined4 MASKED(undefined4 param_1)

{
  byte bVar1;
  byte bVar2;
  byte bVar3;
  byte bVar4;
  uint3 uVar5;
  uint3 uVar6;
  int iVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  undefined4 uVar15;
  int iVar16;
  int iVar17;
  char *pcVar18;
  int iVar19;
  int iVar20;
  byte *pbVar21;
  ushort *puVar22;
  byte *pbVar23;
  byte *pbVar24;
  ushort *puVar25;
  bool bVar26;
  undefined1 uVar27;
  bool bVar28;
  undefined1 uVar29;
  bool bVar30;
  byte bVar31;
  uint local_c4;
  int local_c0;
  uint local_ac;
  int local_a8;
  uint local_a4;
  int local_a0;
  uint local_98;
  uint local_8c;
  int local_88;
  uint local_80;
  uint local_7c;
  uint local_74;
  uint local_70;
  uint local_68;
  uint local_5c;
  uint local_58;
  int local_50;
  uint local_4c;
  uint local_44;
  uint local_40;
  uint local_3c;
  int local_34;
  int local_30;
  int local_28 [2];
  undefined1 local_20;
  undefined4 uStack_14;
  
  bVar31 = 0;
  uStack_14 = 0x66069;
  iVar7 = bfd_openr(param_1,*DAT_001d127c);
  if (iVar7 == 0) {
    uVar15 = dcgettext(0,"%X%P: open %s: %E\n",5);
    FUN_00034d20(uVar15,param_1);
    return 0;
  }
  iVar8 = bfd_check_format(iVar7,1);
  if (iVar8 == 0) {
    uVar15 = dcgettext(0,"%X%P: %s: this doesn\'t appear to be a DLL\n",5);
    FUN_00034d20(uVar15,param_1);
    return 0;
  }
  uVar9 = FUN_000619e0();
  iVar8 = FUN_000619e0();
  if (iVar8 != 0) {
    uVar10 = FUN_000619e0();
    local_4c = FUN_000619e0();
    local_50 = 0;
    if (local_4c != 0) {
      uVar11 = FUN_00061990();
      uVar12 = FUN_00061990();
      local_8c = uVar9 + 0x18 + uVar12;
      local_88 = (uint)(0xffffffe7 < uVar9) + (uint)CARRY4(uVar9 + 0x18,uVar12);
      if (uVar11 == 0) {
        local_34 = 0;
        local_30 = 0;
        local_40 = 0;
        local_58 = 0;
        local_70 = 0;
        local_3c = 1;
        local_68 = 1;
        local_7c = 1;
        local_74 = 0;
        local_5c = 0;
        local_44 = 0;
      }
      else {
        local_a4 = 0;
        local_a0 = 0;
        local_ac = local_8c;
        local_a8 = local_88;
        do {
          uVar9 = FUN_000619e0();
          uVar12 = FUN_000619e0();
          uVar13 = FUN_000619e0();
          bfd_seek(iVar7,local_ac,local_a8,0);
          bfd_bread(local_28,8,0,iVar7);
          if (uVar9 <= uVar10) {
            uVar14 = uVar12 + uVar9;
            uVar12 = (uint)CARRY4(uVar12,uVar9);
            if (uVar12 != 0 || -uVar12 < (uint)(uVar10 < uVar14)) {
              local_34 = (uVar13 - uVar9) + uVar10;
              local_30 = (uint)CARRY4(uVar13 - uVar9,uVar10) - (uint)(uVar13 < uVar9);
              if (uVar12 < CARRY4(uVar10,local_4c) ||
                  uVar12 - CARRY4(uVar10,local_4c) < (uint)(uVar14 < uVar10 + local_4c)) {
                local_4c = uVar14 - uVar10;
                local_50 = uVar12 - (uVar14 < uVar10);
              }
              goto LAB_0006627d;
            }
          }
          bVar26 = 0xfffffffe < local_a4;
          local_a4 = local_a4 + 1;
          local_a0 = local_a0 + (uint)bVar26;
          bVar26 = 0xffffffd7 < local_ac;
          local_ac = local_ac + 0x28;
          local_a8 = local_a8 + (uint)bVar26;
        } while (local_a0 != 0 || uVar11 != local_a4);
        local_34 = 0;
        local_30 = 0;
LAB_0006627d:
        local_44 = 0;
        local_40 = 0;
        uVar27 = 0xfffffff7 < local_8c;
        uVar29 = local_8c == 0xfffffff8;
        local_5c = 0;
        local_3c = 1;
        local_58 = 0;
        local_68 = 1;
        local_74 = 0;
        local_70 = 0;
        local_7c = 1;
        local_c4 = 0;
        local_c0 = 0;
        do {
          uVar9 = FUN_000619e0();
          uVar12 = FUN_000619e0();
          uVar15 = FUN_000619e0();
          local_20 = 0;
          bfd_seek(iVar7,local_8c,local_88,0);
          bfd_bread(local_28,8,0,iVar7);
          iVar8 = 6;
          pbVar23 = (byte *)local_28;
          pbVar24 = (byte *)0xaed93;
          do {
            if (iVar8 == 0) break;
            iVar8 = iVar8 + -1;
            uVar27 = *pbVar23 < *pbVar24;
            uVar29 = *pbVar23 == *pbVar24;
            pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
            pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
          } while ((bool)uVar29);
          bVar26 = false;
          bVar30 = (!(bool)uVar27 && !(bool)uVar29) == (bool)uVar27;
          if (bVar30) {
            local_74 = uVar9 + uVar12;
            local_70 = (uint)CARRY4(uVar9,uVar12);
            local_7c = uVar12;
joined_r0x00066360:
            if (DAT_001d11fc != 0) {
              printf("%s %s: 0x%08lx-0x%08lx (0x%08lx)\n","pe_implied_import_dll",local_28,uVar12,
                     uVar9 + uVar12,uVar15);
            }
          }
          else {
            iVar8 = 7;
            pbVar23 = (byte *)local_28;
            pbVar24 = (byte *)".rdata";
            do {
              if (iVar8 == 0) break;
              iVar8 = iVar8 + -1;
              bVar26 = *pbVar23 < *pbVar24;
              bVar30 = *pbVar23 == *pbVar24;
              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
            } while (bVar30);
            bVar28 = false;
            bVar26 = (!bVar26 && !bVar30) == bVar26;
            if (bVar26) {
              local_5c = uVar9 + uVar12;
              local_58 = (uint)CARRY4(uVar9,uVar12);
              local_68 = uVar12;
              goto joined_r0x00066360;
            }
            iVar8 = 5;
            pbVar23 = (byte *)local_28;
            pbVar24 = (byte *)0xaed9f;
            do {
              if (iVar8 == 0) break;
              iVar8 = iVar8 + -1;
              bVar28 = *pbVar23 < *pbVar24;
              bVar26 = *pbVar23 == *pbVar24;
              pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
              pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
            } while (bVar26);
            if ((!bVar28 && !bVar26) == bVar28) {
              local_44 = uVar9 + uVar12;
              local_40 = (uint)CARRY4(uVar9,uVar12);
              local_3c = uVar12;
              goto joined_r0x00066360;
            }
          }
          bVar26 = 0xfffffffe < local_c4;
          local_c4 = local_c4 + 1;
          local_c0 = local_c0 + (uint)bVar26;
          bVar26 = 0xffffffd7 < local_8c;
          local_8c = local_8c + 0x28;
          local_88 = local_88 + (uint)bVar26;
          uVar27 = false;
          uVar29 = local_c0 == 0 && uVar11 == local_c4;
        } while (local_c0 != 0 || uVar11 != local_c4);
      }
      iVar8 = xmalloc(local_4c);
      bfd_seek(iVar7,local_34,local_30,0);
      bfd_bread(iVar8,local_4c,local_50,iVar7);
      uVar10 = iVar8 - uVar10;
      if (DAT_001d1218 == 0) {
        DAT_001d1218 = FUN_000589a0();
      }
      bVar1 = *(byte *)(iVar8 + 0x18);
      bVar2 = *(byte *)(iVar8 + 0x19);
      bVar3 = *(byte *)(iVar8 + 0x1b);
      bVar4 = *(byte *)(iVar8 + 0x1a);
      uVar5 = *(uint3 *)(iVar8 + 0x20);
      local_80 = (uint)*(byte *)(iVar8 + 0x23);
      uVar6 = *(uint3 *)(iVar8 + 0x1c);
      local_98 = (uint)*(byte *)(iVar8 + 0x1f);
      iVar8 = *(int *)(iVar8 + 0xc) + uVar10;
      iVar7 = FUN_00059010(DAT_001d1218,iVar8);
      if (iVar7 == 0) {
        iVar7 = (uint)bVar4 * 0x10000 + (uint)bVar2 * 0x100 + (uint)bVar1 + (uint)bVar3 * 0x1000000;
        iVar16 = (uint)uVar5 + local_80 * 0x1000000;
        iVar20 = (uint)uVar6 + local_98 * 0x1000000;
        puVar22 = (ushort *)(iVar16 + uVar10);
        iVar17 = FUN_0005a380(DAT_001d1218,iVar7,
                              (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +
                              (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000 + uVar10,iVar8,0,0,0
                             );
        if (iVar17 < 0) {
          local_c4 = 0;
          if (iVar7 != 0) {
            do {
              iVar17 = 5;
              uVar9 = (uint)*(byte *)((int)puVar22 + 3) * 0x1000000 +
                      (uint)*puVar22 + (uint)(byte)puVar22[1] * 0x10000;
              bVar26 = CARRY4(uVar9,uVar10);
              pbVar21 = (byte *)(uVar9 + uVar10);
              bVar30 = pbVar21 == (byte *)0x0;
              pbVar23 = pbVar21;
              pbVar24 = (byte *)"__nm_";
              do {
                if (iVar17 == 0) break;
                iVar17 = iVar17 + -1;
                bVar26 = *pbVar23 < *pbVar24;
                bVar30 = *pbVar23 == *pbVar24;
                pbVar23 = pbVar23 + (uint)bVar31 * -2 + 1;
                pbVar24 = pbVar24 + (uint)bVar31 * -2 + 1;
              } while (bVar30);
              if ((!bVar26 && !bVar30) != bVar26) {
                local_28[0] = 0;
                uVar9 = (uint)*(byte *)((int)puVar22 + iVar20 + (3 - iVar16)) * 0x1000000 +
                        (uint)CONCAT11(*(undefined1 *)((int)puVar22 + iVar20 + (1 - iVar16)),
                                       *(undefined1 *)((int)puVar22 + (iVar20 - iVar16))) +
                        (uint)*(byte *)((int)puVar22 + iVar20 + (2 - iVar16)) * 0x10000;
                if (((uVar9 < local_7c) ||
                    (uVar11 = 1, local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&
                   ((uVar9 < local_68 ||
                    (uVar11 = 1, local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) {
                  uVar11 = (uint)((local_40 != 0 || -local_40 < (uint)(uVar9 < local_44)) &&
                                 local_3c <= uVar9);
                }
                iVar17 = FUN_00059050(DAT_001d1218,pbVar21,iVar8,local_c4,0,0,local_28);
                if (local_28[0] == 0) {
                  *(uint *)(iVar17 + 0x14) = uVar11;
                }
                if (DAT_001d11fc != 0) {
                  pcVar18 = "(data)";
                  if (uVar11 == 0) {
                    pcVar18 = "";
                  }
                  printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,
                         pbVar21,uVar9,pcVar18);
                }
              }
              local_c4 = local_c4 + 1;
              puVar22 = puVar22 + 2;
            } while (iVar7 != local_c4);
          }
        }
        else if (iVar7 != 0) {
          local_c4 = 0;
          puVar25 = (ushort *)(iVar20 + uVar10);
          do {
            uVar9 = (uint)*(byte *)((int)puVar25 + 3) * 0x1000000 +
                    (uint)*puVar25 + (uint)(byte)puVar25[1] * 0x10000;
            iVar20 = uVar10 + *(int *)puVar22;
            if ((((uVar9 < local_7c) || (local_70 == 0 && (uint)(uVar9 < local_74) <= -local_70)) &&
                ((uVar9 < local_68 || (local_58 == 0 && (uint)(uVar9 < local_5c) <= -local_58)))) &&
               ((uVar9 < local_3c || (local_40 == 0 && (uint)(uVar9 < local_44) <= -local_40)))) {
              iVar16 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);
              *(undefined4 *)(iVar16 + 0x14) = 0;
              if (DAT_001d11fc != 0) {
                pcVar18 = "";
LAB_00066b30:
                printf("%s dll-name: %s sym: %s addr: 0x%lx %s\n","pe_implied_import_dll",iVar8,
                       iVar20,uVar9,pcVar18);
              }
            }
            else {
              iVar19 = FUN_0005a520(DAT_001d1218,local_c4 + iVar17,iVar20,iVar8,local_c4,0,0);
              iVar16 = DAT_001d11fc;
              *(undefined4 *)(iVar19 + 0x14) = 1;
              pcVar18 = "(data)";
              if (iVar16 != 0) goto LAB_00066b30;
            }
            local_c4 = local_c4 + 1;
            puVar22 = puVar22 + 2;
            puVar25 = puVar25 + 2;
          } while (iVar7 != local_c4);
        }
      }
      else if (DAT_001d11fc != 0) {
        printf("%s is already loaded\n",iVar8);
      }
      return 1;
    }
  }
  return 0;
}

