
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void write_contents(bfd *abfd,asection *sec,void *xxx)

{
  byte bVar1;
  uint uVar2;
  char *pcVar3;
  uint uVar4;
  byte *pbVar5;
  int iVar6;
  void *__ptr;
  char *pcVar7;
  uint uVar8;
  byte *pbVar9;
  int iVar10;
  undefined4 uVar11;
  char *pcVar12;
  undefined4 uVar13;
  uint uVar14;
  int iVar15;
  int iVar16;
  uint uVar17;
  byte *pbVar18;
  undefined4 *puVar19;
  int *piVar20;
  bool bVar21;
  byte bVar22;
  uint local_154;
  int local_150;
  uint local_14c;
  int local_148;
  int local_138;
  char *local_134;
  char buf [256];
  
  bVar22 = 0;
                    /* WARNING: Load size is inaccurate */
  if ((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||
     (local_138 = **sec->userdata, local_138 == 0)) {
    return;
  }
  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {
    local_14c = 0;
    local_148 = 0;
    do {
      uVar4 = *(uint *)(local_138 + 0x10);
      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {
        iVar16 = bfd_set_section_contents
                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,
                            *(int *)(local_138 + 0x14));
        if (iVar16 == 0) {
          uVar11 = bfd_get_error();
          uVar13 = bfd_errmsg(uVar11);
          pcVar7 = stdoutput->filename;
          pcVar3 = sec->name;
          uVar11 = *(undefined4 *)(local_138 + 0x10);
          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",
                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5
                                      );
                    /* WARNING: Subroutine does not return */
          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);
        }
        uVar4 = *(uint *)(local_138 + 0x10);
        bVar21 = CARRY4(local_14c,uVar4);
        local_14c = local_14c + uVar4;
        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21;
      }
      uVar2 = *(uint *)(local_138 + 0x18);
      iVar16 = *(int *)(local_138 + 0x1c);
      local_150 = *(int *)(local_138 + 0x24);
      local_154 = *(uint *)(local_138 + 0x20);
      if (*(int *)(local_138 + 0x44) == 10) {
        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/write.c",0x667,"write_contents");
        }
        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;
        __ptr = (void *)xmalloc(local_154);
        pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5);
        as_bad(pcVar7);
        iVar16 = bfd_set_section_contents
                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150);
        if (iVar16 == 0) {
          uVar11 = bfd_get_error();
          uVar11 = bfd_errmsg(uVar11);
          pcVar7 = stdoutput->filename;
          pcVar3 = sec->name;
          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154
                                       ,5);
                    /* WARNING: Subroutine does not return */
          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);
        }
        bVar21 = CARRY4(local_14c,local_154);
        local_14c = local_14c + local_154;
        local_148 = local_148 + local_150 + (uint)bVar21;
        free(__ptr);
        local_138 = *(int *)(local_138 + 0x30);
      }
      else {
        if (local_150 < 0) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/write.c",0x67d,"write_contents");
        }
        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {
          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);
          uVar4 = uVar2;
          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {
            if (iVar16 == 0 && uVar2 == 1) {
              uVar8 = 0x100;
              bVar1 = *pbVar5;
              piVar20 = (int *)buf;
              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {
                *piVar20 = (uint)bVar1 * 0x1010101;
                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;
              }
            }
            else {
              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);
              pbVar9 = (byte *)buf;
              uVar17 = uVar8;
              do {
                while (uVar2 < 4) {
                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {
                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));
                  }
                  pbVar9 = pbVar9 + uVar2;
                  uVar17 = uVar17 - 1;
                  if (uVar17 == 0) goto LAB_00041359;
                }
                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;
                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));
                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);
                pbVar18 = pbVar5 + -iVar6;
                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);
                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {
                  *puVar19 = *(undefined4 *)pbVar18;
                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;
                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
                }
                uVar17 = uVar17 - 1;
                pbVar9 = pbVar9 + uVar2;
              } while (uVar17 != 0);
            }
LAB_00041359:
            do {
              local_134 = buf;
              iVar6 = (int)uVar8 >> 0x1f;
              if ((SBORROW4(local_150,iVar6) !=
                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=
                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {
                uVar8 = local_154;
                iVar6 = local_150;
              }
              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);
              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +
                       uVar4 * iVar6 + iVar16 * uVar8;
              iVar10 = bfd_set_section_contents
                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);
              if (iVar10 == 0) {
                uVar11 = bfd_get_error(uVar8,iVar6);
                uVar11 = bfd_errmsg(uVar11);
                iVar16 = uVar2 * uVar8;
                pcVar7 = stdoutput->filename;
                pcVar3 = sec->name;
                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",
                                             iVar16,5);
                    /* WARNING: Subroutine does not return */
                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);
              }
              bVar21 = CARRY4(local_14c,uVar17);
              local_14c = local_14c + uVar17;
              local_148 = local_148 + iVar15 + (uint)bVar21;
              bVar21 = local_154 < uVar8;
              local_154 = local_154 - uVar8;
              local_150 = (local_150 - iVar6) - (uint)bVar21;
            } while (-local_150 < (int)(uint)(local_154 != 0));
          }
          else {
            do {
              iVar6 = bfd_set_section_contents
                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);
              if (iVar6 == 0) {
                uVar11 = bfd_get_error();
                uVar11 = bfd_errmsg(uVar11);
                pcVar7 = stdoutput->filename;
                pcVar3 = sec->name;
                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",
                                             uVar2,5);
                    /* WARNING: Subroutine does not return */
                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);
              }
              bVar21 = CARRY4(local_14c,uVar4);
              local_14c = local_14c + uVar4;
              local_148 = local_148 + iVar16 + (uint)bVar21;
              bVar21 = local_154 != 0;
              local_154 = local_154 - 1;
              local_150 = local_150 + -1 + (uint)bVar21;
            } while (local_150 != 0 || local_154 != 0);
          }
        }
LAB_00041120:
        local_138 = *(int *)(local_138 + 0x30);
      }
      if (local_138 == 0) {
        return;
      }
    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));
  }
                    /* WARNING: Subroutine does not return */
  as_abort("../../gas/write.c",0x64f,"write_contents");
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void FUN_00040f90(undefined4 param_1,undefined4 *param_2)

{
  byte bVar1;
  uint uVar2;
  undefined4 uVar3;
  uint uVar4;
  byte *pbVar5;
  int iVar6;
  void *__ptr;
  uint uVar7;
  byte *pbVar8;
  int iVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  uint uVar14;
  int iVar15;
  int iVar16;
  uint uVar17;
  byte *pbVar18;
  undefined4 *puVar19;
  bool bVar20;
  byte bVar21;
  uint local_154;
  int local_150;
  uint local_14c;
  int local_148;
  int local_138;
  byte *local_134;
  byte local_11c [268];
  
  bVar21 = 0;
  if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||
      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||
     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {
    return;
  }
  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {
    local_14c = 0;
    local_148 = 0;
    do {
      uVar4 = *(uint *)(local_138 + 0x10);
      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {
        iVar16 = bfd_set_section_contents
                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,
                            *(int *)(local_138 + 0x14));
        if (iVar16 == 0) {
          uVar10 = bfd_get_error();
          uVar12 = bfd_errmsg(uVar10);
          uVar10 = *DAT_00088f24;
          uVar3 = *param_2;
          uVar11 = *(undefined4 *)(local_138 + 0x10);
          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",
                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);
                    /* WARNING: Subroutine does not return */
          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);
        }
        uVar4 = *(uint *)(local_138 + 0x10);
        bVar20 = CARRY4(local_14c,uVar4);
        local_14c = local_14c + uVar4;
        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;
      }
      uVar2 = *(uint *)(local_138 + 0x18);
      iVar16 = *(int *)(local_138 + 0x1c);
      local_150 = *(int *)(local_138 + 0x24);
      local_154 = *(uint *)(local_138 + 0x20);
      if (*(int *)(local_138 + 0x44) == 10) {
        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {
                    /* WARNING: Subroutine does not return */
          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");
        }
        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;
        __ptr = (void *)xmalloc(local_154);
        uVar10 = dcgettext(0,"unimplemented .nops directive",5);
        FUN_0002ec90(uVar10);
        iVar16 = bfd_set_section_contents
                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);
        if (iVar16 == 0) {
          uVar10 = bfd_get_error();
          uVar11 = bfd_errmsg(uVar10);
          uVar10 = *DAT_00088f24;
          uVar3 = *param_2;
          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);
                    /* WARNING: Subroutine does not return */
          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);
        }
        bVar20 = CARRY4(local_14c,local_154);
        local_14c = local_14c + local_154;
        local_148 = local_148 + local_150 + (uint)bVar20;
        free(__ptr);
        local_138 = *(int *)(local_138 + 0x30);
      }
      else {
        if (local_150 < 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");
        }
        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {
          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);
          uVar4 = uVar2;
          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {
            if (iVar16 == 0 && uVar2 == 1) {
              uVar7 = 0x100;
              bVar1 = *pbVar5;
              pbVar5 = local_11c;
              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {
                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;
                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;
              }
            }
            else {
              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);
              pbVar8 = local_11c;
              uVar17 = uVar7;
              do {
                while (uVar2 < 4) {
                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {
                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));
                  }
                  pbVar8 = pbVar8 + uVar2;
                  uVar17 = uVar17 - 1;
                  if (uVar17 == 0) goto LAB_00041359;
                }
                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;
                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));
                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);
                pbVar18 = pbVar5 + -iVar6;
                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);
                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {
                  *puVar19 = *(undefined4 *)pbVar18;
                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;
                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;
                }
                uVar17 = uVar17 - 1;
                pbVar8 = pbVar8 + uVar2;
              } while (uVar17 != 0);
            }
LAB_00041359:
            do {
              local_134 = local_11c;
              iVar6 = (int)uVar7 >> 0x1f;
              if ((SBORROW4(local_150,iVar6) !=
                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=
                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {
                uVar7 = local_154;
                iVar6 = local_150;
              }
              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);
              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +
                       uVar4 * iVar6 + iVar16 * uVar7;
              iVar9 = bfd_set_section_contents
                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);
              if (iVar9 == 0) {
                uVar10 = bfd_get_error(uVar7,iVar6);
                uVar11 = bfd_errmsg(uVar10);
                iVar16 = uVar2 * uVar7;
                uVar10 = *DAT_00088f24;
                uVar3 = *param_2;
                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);
                    /* WARNING: Subroutine does not return */
                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);
              }
              bVar20 = CARRY4(local_14c,uVar17);
              local_14c = local_14c + uVar17;
              local_148 = local_148 + iVar15 + (uint)bVar20;
              bVar20 = local_154 < uVar7;
              local_154 = local_154 - uVar7;
              local_150 = (local_150 - iVar6) - (uint)bVar20;
            } while (-local_150 < (int)(uint)(local_154 != 0));
          }
          else {
            do {
              iVar6 = bfd_set_section_contents
                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);
              if (iVar6 == 0) {
                uVar10 = bfd_get_error();
                uVar11 = bfd_errmsg(uVar10);
                uVar10 = *DAT_00088f24;
                uVar3 = *param_2;
                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);
                    /* WARNING: Subroutine does not return */
                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);
              }
              bVar20 = CARRY4(local_14c,uVar4);
              local_14c = local_14c + uVar4;
              local_148 = local_148 + iVar16 + (uint)bVar20;
              bVar20 = local_154 != 0;
              local_154 = local_154 - 1;
              local_150 = local_150 + -1 + (uint)bVar20;
            } while (local_150 != 0 || local_154 != 0);
          }
        }
LAB_00041120:
        local_138 = *(int *)(local_138 + 0x30);
      }
      if (local_138 == 0) {
        return;
      }
    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");
}


CALL 0x0001ad6a
ADD EAX,0x3f06b
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x14c
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x164]
MOV EAX,dword ptr [EAX + 0x80]
TEST EAX,EAX
JZ 0x00041235
MOV ESI,dword ptr [ESP + 0x164]
TEST byte ptr [ESI + 0x15],0x1
JZ 0x00041235
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x24],EAX
TEST EAX,EAX
JZ 0x00041235
MOV EAX,dword ptr [EAX + 0x44]
CMP EAX,0x1
JZ 0x00040fef
CMP EAX,0xa
JNZ 0x0004114c
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x14],0x0
LEA EAX,[EAX + 0x8f24]
MOV dword ptr [ESP + 0x34],EAX
MOV dword ptr [ESP + 0x2c],EAX
LEA ESI,[ESI]
MOV ECX,dword ptr [ESP + 0x24]
MOV EDX,dword ptr [ECX + 0x14]
MOV EAX,dword ptr [ECX + 0x10]
LEA ESI,[ECX + 0x4c]
MOV EBX,EDX
OR EBX,EAX
JNZ 0x00041240
MOV EBX,dword ptr [ESP + 0x24]
MOV EDI,dword ptr [EBX + 0x18]
MOV ECX,dword ptr [EBX + 0x1c]
MOV EBP,dword ptr [EBX + 0x24]
CMP dword ptr [EBX + 0x44],0xa
MOV dword ptr [ESP + 0x30],EDI
MOV dword ptr [ESP],EDI
MOV EDI,dword ptr [EBX + 0x20]
MOV dword ptr [ESP + 0x4],ECX
MOV dword ptr [ESP + 0x8],EDI
MOV dword ptr [ESP + 0xc],EBP
JZ 0x00041170
MOV EBX,dword ptr [ESP + 0xc]
TEST EBX,EBX
JS 0x000414e2
MOV EDI,dword ptr [ESP]
MOV EBP,dword ptr [ESP + 0x4]
MOV EBX,EDI
OR EBX,EBP
JZ 0x00041120
MOV EBX,dword ptr [ESP + 0x8]
OR EBX,dword ptr [ESP + 0xc]
JZ 0x00041120
ADD EAX,ESI
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,0x100
CMP EAX,EDI
MOV EAX,0x0
SBB EAX,EBP
JNC 0x00041290
MOV EAX,dword ptr [ESP + 0x20]
MOV EDI,dword ptr [ESP + 0x8]
MOV EBP,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [ESP + 0x10]
LEA ESI,[EAX + 0x8f24]
MOV ECX,dword ptr [ESP + 0x14]
LEA ESI,[ESI]
NOP
SUB ESP,0x4
PUSH dword ptr [ESP + 0x8]
PUSH dword ptr [ESP + 0x8]
PUSH ECX
PUSH EDX
MOV dword ptr [ESP + 0x1c],EDX
MOV dword ptr [ESP + 0x20],ECX
PUSH dword ptr [ESP + 0x2c]
PUSH dword ptr [ESP + 0x17c]
PUSH dword ptr [ESI]
MOV EBX,dword ptr [ESP + 0x40]
CALL 0x00017270
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JZ 0x0004147d
ADD EDX,dword ptr [ESP]
ADC ECX,dword ptr [ESP + 0x4]
ADD EDI,-0x1
ADC EBP,-0x1
MOV EBX,EBP
OR EBX,EDI
JNZ 0x000410c0
MOV dword ptr [ESP + 0x10],EDX
MOV dword ptr [ESP + 0x14],ECX
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [EAX + 0x30]
MOV dword ptr [ESP + 0x24],EAX
TEST EAX,EAX
JZ 0x00041235
MOV EAX,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [EAX + 0x44]
CMP EAX,0x1
JZ 0x00041018
CMP EAX,0xa
JZ 0x00041018
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfffdfc90]
PUSH EAX
LEA EAX,[EBX + 0xfffdf8d8]
PUSH 0x64f
PUSH EAX
CALL 0x0002edb0
MOV ESI,dword ptr [ESP + 0xc]
TEST ESI,ESI
JS 0x00041501
MOV EAX,dword ptr [ESP]
XOR EAX,0x1
OR EAX,ECX
JNZ 0x00041501
MOV EBX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [ESP + 0x8]
MOV EDX,EBX
OR EDX,ECX
JZ 0x00041120
SUB ESP,0xc
MOV dword ptr [ESP + 0x14],ECX
MOV dword ptr [ESP + 0x18],EBX
PUSH dword ptr [ESP + 0x14]
MOV ESI,dword ptr [ESP + 0x30]
MOV EBX,ESI
CALL 0x00017780
ADD ESP,0xc
MOV EDI,EAX
LEA EAX,[ESI + 0xfffdf941]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000171a0
MOV dword ptr [ESP],EAX
CALL 0x0002ec90
LEA ESI,[ESI + 0x8f24]
ADD ESP,0xc
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x20]
PUSH EDI
PUSH dword ptr [ESP + 0x17c]
PUSH dword ptr [ESI]
CALL 0x00017270
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00041592
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
ADD dword ptr [ESP + 0x10],EAX
ADC dword ptr [ESP + 0x14],EDX
SUB ESP,0xc
PUSH EDI
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x00017770
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [EAX + 0x30]
MOV dword ptr [ESP + 0x24],EAX
TEST EAX,EAX
JNZ 0x00041133
ADD ESP,0x14c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x20]
PUSH ESI
PUSH dword ptr [ESP + 0x17c]
MOV EAX,dword ptr [ESP + 0x50]
PUSH dword ptr [EAX]
MOV EBX,dword ptr [ESP + 0x40]
CALL 0x00017270
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00041520
MOV EAX,dword ptr [ESP + 0x24]
MOV EDX,dword ptr [EAX + 0x14]
MOV EAX,dword ptr [EAX + 0x10]
ADD dword ptr [ESP + 0x10],EAX
ADC dword ptr [ESP + 0x14],EDX
JMP 0x0004102f
MOV EAX,dword ptr [ESP]
XOR EAX,0x1
OR ECX,EAX
JZ 0x00041448
PUSH dword ptr [ESP + 0x4]
PUSH dword ptr [ESP + 0x4]
PUSH 0x0
PUSH 0x100
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x00057d50
ADD ESP,0x10
MOV EDI,dword ptr [ESP + 0x30]
MOV EBP,EAX
LEA EAX,[ESP + 0x40]
MOV EBX,EDI
MOV dword ptr [ESP + 0x28],EAX
MOV EDX,EDI
AND EBX,0x2
MOV dword ptr [ESP + 0x3c],EBP
MOV dword ptr [ESP + 0x38],EBX
MOV EBX,dword ptr [ESP + 0x18]
JMP 0x000412fc
TEST EDX,EDX
JZ 0x000412f5
MOVZX ECX,byte ptr [EBX]
MOV byte ptr [EAX],CL
MOV ECX,dword ptr [ESP + 0x38]
TEST ECX,ECX
JNZ 0x0004146e
ADD EAX,EDX
SUB EBP,0x1
JZ 0x00041329
CMP EDX,0x4
JC 0x000412e0
MOV ECX,dword ptr [EBX]
LEA EDI,[EAX + 0x4]
MOV ESI,EBX
AND EDI,0xfffffffc
MOV dword ptr [EAX],ECX
MOV ECX,dword ptr [EBX + EDX*0x1 + -0x4]
MOV dword ptr [EAX + EDX*0x1 + -0x4],ECX
MOV ECX,EAX
ADD EAX,EDX
SUB ECX,EDI
SUB ESI,ECX
ADD ECX,EDX
SHR ECX,0x2
MOVSD.REP ES:EDI,ESI
SUB EBP,0x1
JNZ 0x000412fc
MOV EBP,dword ptr [ESP + 0x3c]
JMP 0x00041359
ADD dword ptr [ESP + 0x10],EDX
ADC dword ptr [ESP + 0x14],ECX
SUB dword ptr [ESP + 0x8],ESI
MOV EAX,dword ptr [ESP + 0x8]
SBB dword ptr [ESP + 0xc],EDI
XOR ECX,ECX
MOV EDX,dword ptr [ESP + 0xc]
MOV EDI,0x0
CMP ECX,EAX
SBB EDI,EDX
JGE 0x00041120
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
MOV EDI,EBP
MOV ESI,EBP
SAR EDI,0x1f
MOV ECX,EDX
CMP EAX,EBP
SBB ECX,EDI
JGE 0x00041374
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [ESP + 0x4]
SUB ESP,0x4
MOV EBP,ESI
MOV EBX,EAX
MOV EAX,EDX
IMUL EAX,ESI
IMUL EBX,EDI
ADD EBX,EAX
MOV EAX,dword ptr [ESP + 0x4]
MUL ESI
MOV ECX,EDX
ADD ECX,EBX
PUSH ECX
PUSH EAX
MOV dword ptr [ESP + 0x24],EAX
MOV dword ptr [ESP + 0x28],ECX
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x3c]
PUSH dword ptr [ESP + 0x17c]
MOV EAX,dword ptr [ESP + 0x48]
PUSH dword ptr [EAX]
MOV EBX,dword ptr [ESP + 0x40]
CALL 0x00017270
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JNZ 0x00041330
MOV dword ptr [ESP],ESI
MOV ESI,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x4],EDI
MOV EBX,ESI
CALL 0x00017280
SUB ESP,0xc
PUSH EAX
CALL 0x00017670
MOV EDX,dword ptr [ESP + 0x40]
IMUL EDX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x3c]
MOV EAX,dword ptr [EAX]
MOV EDI,dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x174]
MOV EBP,dword ptr [EAX]
MOV dword ptr [ESP],0x5
LEA EAX,[ESI + 0xfffdf614]
PUSH EDX
MOV dword ptr [ESP + 0x14],EDX
PUSH EAX
LEA EAX,[ESI + 0xfffdf644]
PUSH EAX
PUSH 0x0
CALL 0x00017730
ADD ESP,0x14
MOV ECX,dword ptr [ESP + 0x14]
PUSH ECX
PUSH EDI
PUSH EBP
MOV EDX,dword ptr [ESP + 0x18]
PUSH EDX
PUSH EAX
CALL 0x0002ed30
MOV EAX,dword ptr [ESP + 0x18]
LEA EDI,[ESP + 0x40]
MOV ECX,0x40
MOV EBP,0x100
MOV dword ptr [ESP + 0x28],EDI
MOVZX EAX,byte ptr [EAX]
IMUL EAX,EAX,0x1010101
STOSD.REP ES:EDI
JMP 0x00041359
MOVZX ECX,word ptr [EBX + EDX*0x1 + -0x2]
MOV word ptr [EAX + EDX*0x1 + -0x2],CX
JMP 0x000412f5
MOV EDI,dword ptr [ESP + 0x20]
MOV EBX,EDI
CALL 0x00017280
SUB ESP,0xc
PUSH EAX
MOV dword ptr [ESP + 0x30],EDI
CALL 0x00017670
MOV EDI,EAX
MOV EAX,dword ptr [ESI]
MOV EBP,dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x174]
MOV ESI,dword ptr [EAX]
MOV dword ptr [ESP],0x5
PUSH dword ptr [ESP + 0x40]
MOV ECX,dword ptr [ESP + 0x34]
LEA EAX,[ECX + 0xfffdf614]
MOV EBX,ECX
PUSH EAX
LEA EAX,[ECX + 0xfffdf644]
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x40],ECX
CALL 0x00017730
ADD ESP,0x14
PUSH EDI
PUSH EBP
PUSH ESI
PUSH dword ptr [ESP + 0x48]
PUSH EAX
MOV EBX,dword ptr [ESP + 0x40]
CALL 0x0002ed30
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfffdfc90]
PUSH EAX
LEA EAX,[EBX + 0xfffdf8d8]
PUSH 0x67d
PUSH EAX
CALL 0x0002edb0
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfffdfc90]
PUSH EAX
LEA EAX,[EBX + 0xfffdf8d8]
PUSH 0x667
PUSH EAX
CALL 0x0002edb0
MOV ESI,dword ptr [ESP + 0x20]
MOV EBX,ESI
CALL 0x00017280
SUB ESP,0xc
PUSH EAX
MOV dword ptr [ESP + 0x30],ESI
CALL 0x00017670
MOV EBP,EAX
MOV EAX,dword ptr [ESP + 0x44]
MOV EAX,dword ptr [EAX]
MOV EDI,dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x174]
MOV ESI,dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x34]
MOV EDX,dword ptr [EAX + 0x10]
MOV dword ptr [ESP],0x5
PUSH EDX
MOV ECX,dword ptr [ESP + 0x34]
LEA EAX,[ECX + 0xfffdf5b4]
MOV EBX,ECX
MOV dword ptr [ESP + 0x14],EDX
PUSH EAX
LEA EAX,[ECX + 0xfffdf5e4]
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x40],ECX
CALL 0x00017730
ADD ESP,0x14
PUSH EBP
PUSH EDI
PUSH ESI
MOV EDX,dword ptr [ESP + 0x18]
PUSH EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x40]
CALL 0x0002ed30
MOV EDI,dword ptr [ESP + 0x20]
MOV EBX,EDI
CALL 0x00017280
SUB ESP,0xc
PUSH EAX
MOV dword ptr [ESP + 0x30],EDI
CALL 0x00017670
MOV EDI,EAX
MOV EAX,dword ptr [ESI]
MOV EBP,dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x174]
MOV ESI,dword ptr [EAX]
MOV dword ptr [ESP],0x5
PUSH dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x34]
LEA EAX,[ECX + 0xfffdf614]
MOV EBX,ECX
PUSH EAX
LEA EAX,[ECX + 0xfffdf644]
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x40],ECX
CALL 0x00017730
ADD ESP,0x14
PUSH EDI
PUSH EBP
PUSH ESI
PUSH dword ptr [ESP + 0x20]
PUSH EAX
MOV EBX,dword ptr [ESP + 0x40]
CALL 0x0002ed30
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_00040f90(undefined4 param_1,undefined4 *param_2)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  byte *pbVar5;\n  int iVar6;\n  void *__ptr;\n  uint uVar7;\n  byte *pbVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  byte bVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar21 = 0;\n  if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {\n    return;\n  }\n  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");\n}\n\n" comment (function_definition "void FUN_00040f90(undefined4 param_1,undefined4 *param_2)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  byte *pbVar5;\n  int iVar6;\n  void *__ptr;\n  uint uVar7;\n  byte *pbVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  byte bVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar21 = 0;\n  if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {\n    return;\n  }\n  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");\n}" primitive_type (function_declarator "FUN_00040f90(undefined4 param_1,undefined4 *param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  byte *pbVar5;\n  int iVar6;\n  void *__ptr;\n  uint uVar7;\n  byte *pbVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  byte bVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar21 = 0;\n  if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {\n    return;\n  }\n  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "uint local_154;" type_identifier identifier ;) (declaration "int local_150;" primitive_type identifier ;) (declaration "uint local_14c;" type_identifier identifier ;) (declaration "int local_148;" primitive_type identifier ;) (declaration "int local_138;" primitive_type identifier ;) (declaration "byte *local_134;" type_identifier (pointer_declarator "*local_134" * identifier) ;) (declaration "byte local_11c [268];" type_identifier (array_declarator "local_11c [268]" identifier [ number_literal ]) ;) (expression_statement "bVar21 = 0;" (assignment_expression "bVar21 = 0" identifier = number_literal) ;) (if_statement "if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {\n    return;\n  }" if (parenthesized_expression "((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0))" ( (binary_expression "(((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)" (parenthesized_expression "(((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0))" ( (binary_expression "((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)" (parenthesized_expression "((undefined4 *)param_2[0x20] == (undefined4 *)0x0)" ( (binary_expression "(undefined4 *)param_2[0x20] == (undefined4 *)0x0" (cast_expression "(undefined4 *)param_2[0x20]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x20]" identifier [ number_literal ])) == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((*(byte *)((int)param_2 + 0x15) & 1) == 0)" ( (binary_expression "(*(byte *)((int)param_2 + 0x15) & 1) == 0" (parenthesized_expression "(*(byte *)((int)param_2 + 0x15) & 1)" ( (binary_expression "*(byte *)((int)param_2 + 0x15) & 1" (pointer_expression "*(byte *)((int)param_2 + 0x15)" * (cast_expression "(byte *)((int)param_2 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x15)" ( (binary_expression "(int)param_2 + 0x15" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(local_138 = **(int **)param_2[0x20], local_138 == 0)" ( (comma_expression "local_138 = **(int **)param_2[0x20], local_138 == 0" (assignment_expression "local_138 = **(int **)param_2[0x20]" identifier = (pointer_expression "**(int **)param_2[0x20]" * (pointer_expression "*(int **)param_2[0x20]" * (cast_expression "(int **)param_2[0x20]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_2[0x20]" identifier [ number_literal ]))))) , (binary_expression "local_138 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }" if (parenthesized_expression "((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10))" ( (binary_expression "(*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)" (parenthesized_expression "(*(int *)(local_138 + 0x44) == 1)" ( (binary_expression "*(int *)(local_138 + 0x44) == 1" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" ( (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }" { (expression_statement "local_14c = 0;" (assignment_expression "local_14c = 0" identifier = number_literal) ;) (expression_statement "local_148 = 0;" (assignment_expression "local_148 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));" do (compound_statement "{\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    }" { (expression_statement "uVar4 = *(uint *)(local_138 + 0x10);" (assignment_expression "uVar4 = *(uint *)(local_138 + 0x10)" identifier = (pointer_expression "*(uint *)(local_138 + 0x10)" * (cast_expression "(uint *)(local_138 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x10)" ( (binary_expression "local_138 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }" if (parenthesized_expression "(*(int *)(local_138 + 0x14) != 0 || uVar4 != 0)" ( (binary_expression "*(int *)(local_138 + 0x14) != 0 || uVar4 != 0" (binary_expression "*(int *)(local_138 + 0x14) != 0" (pointer_expression "*(int *)(local_138 + 0x14)" * (cast_expression "(int *)(local_138 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x14)" ( (binary_expression "local_138 + 0x14" identifier + number_literal) )))) != number_literal) || (binary_expression "uVar4 != 0" identifier != number_literal)) )) (compound_statement "{\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }" { (expression_statement "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));" (assignment_expression "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" identifier = (call_expression "bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" identifier (argument_list "(DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" ( identifier , identifier , (binary_expression "local_138 + 0x4c" identifier + number_literal) , identifier , identifier , identifier , (pointer_expression "*(int *)(local_138 + 0x14)" * (cast_expression "(int *)(local_138 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x14)" ( (binary_expression "local_138 + 0x14" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }" { (expression_statement "uVar10 = bfd_get_error();" (assignment_expression "uVar10 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = bfd_errmsg(uVar10);" (assignment_expression "uVar12 = bfd_errmsg(uVar10)" identifier = (call_expression "bfd_errmsg(uVar10)" identifier (argument_list "(uVar10)" ( identifier )))) ;) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" identifier = (pointer_expression "*DAT_00088f24" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar11 = *(undefined4 *)(local_138 + 0x10);" (assignment_expression "uVar11 = *(undefined4 *)(local_138 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(local_138 + 0x10)" * (cast_expression "(undefined4 *)(local_138 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x10)" ( (binary_expression "local_138 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);" (assignment_expression "uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5)" identifier = (call_expression "dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5)" identifier (argument_list "(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5)" ( number_literal , (string_literal ""can\'t write %ld byte to section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t write %ld bytes to section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal )))) ;) comment (expression_statement "FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);" (call_expression "FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12)" identifier (argument_list "(uVar13,uVar11,uVar3,uVar10,uVar12)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "uVar4 = *(uint *)(local_138 + 0x10);" (assignment_expression "uVar4 = *(uint *)(local_138 + 0x10)" identifier = (pointer_expression "*(uint *)(local_138 + 0x10)" * (cast_expression "(uint *)(local_138 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x10)" ( (binary_expression "local_138 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "bVar20 = CARRY4(local_14c,uVar4);" (assignment_expression "bVar20 = CARRY4(local_14c,uVar4)" identifier = (call_expression "CARRY4(local_14c,uVar4)" identifier (argument_list "(local_14c,uVar4)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar4;" (assignment_expression "local_14c = local_14c + uVar4" identifier = (binary_expression "local_14c + uVar4" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;" (assignment_expression "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20" identifier = (binary_expression "local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20" (binary_expression "local_148 + *(int *)(local_138 + 0x14)" identifier + (pointer_expression "*(int *)(local_138 + 0x14)" * (cast_expression "(int *)(local_138 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x14)" ( (binary_expression "local_138 + 0x14" identifier + number_literal) ))))) + (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "uVar2 = *(uint *)(local_138 + 0x18);" (assignment_expression "uVar2 = *(uint *)(local_138 + 0x18)" identifier = (pointer_expression "*(uint *)(local_138 + 0x18)" * (cast_expression "(uint *)(local_138 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x18)" ( (binary_expression "local_138 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(local_138 + 0x1c);" (assignment_expression "iVar16 = *(int *)(local_138 + 0x1c)" identifier = (pointer_expression "*(int *)(local_138 + 0x1c)" * (cast_expression "(int *)(local_138 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x1c)" ( (binary_expression "local_138 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_150 = *(int *)(local_138 + 0x24);" (assignment_expression "local_150 = *(int *)(local_138 + 0x24)" identifier = (pointer_expression "*(int *)(local_138 + 0x24)" * (cast_expression "(int *)(local_138 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x24)" ( (binary_expression "local_138 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "local_154 = *(uint *)(local_138 + 0x20);" (assignment_expression "local_154 = *(uint *)(local_138 + 0x20)" identifier = (pointer_expression "*(uint *)(local_138 + 0x20)" * (cast_expression "(uint *)(local_138 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x20)" ( (binary_expression "local_138 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" if (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" ( (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }" { (if_statement "if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }" if (parenthesized_expression "((local_150 < 0) || (uVar2 != 1 || iVar16 != 0))" ( (binary_expression "(local_150 < 0) || (uVar2 != 1 || iVar16 != 0)" (parenthesized_expression "(local_150 < 0)" ( (binary_expression "local_150 < 0" identifier < number_literal) )) || (parenthesized_expression "(uVar2 != 1 || iVar16 != 0)" ( (binary_expression "uVar2 != 1 || iVar16 != 0" (binary_expression "uVar2 != 1" identifier != number_literal) || (binary_expression "iVar16 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }" { comment (expression_statement "FUN_0002edb0("../../gas/write.c",0x667,"write_contents");" (call_expression "FUN_0002edb0("../../gas/write.c",0x667,"write_contents")" identifier (argument_list "("../../gas/write.c",0x667,"write_contents")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""write_contents"" " string_content ") ))) ;) })) (if_statement "if (local_150 == 0 && local_154 == 0) goto LAB_00041120;" if (parenthesized_expression "(local_150 == 0 && local_154 == 0)" ( (binary_expression "local_150 == 0 && local_154 == 0" (binary_expression "local_150 == 0" identifier == number_literal) && (binary_expression "local_154 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00041120;" goto statement_identifier ;)) (expression_statement "__ptr = (void *)xmalloc(local_154);" (assignment_expression "__ptr = (void *)xmalloc(local_154)" identifier = (cast_expression "(void *)xmalloc(local_154)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_154)" identifier (argument_list "(local_154)" ( identifier ))))) ;) (expression_statement "uVar10 = dcgettext(0,"unimplemented .nops directive",5);" (assignment_expression "uVar10 = dcgettext(0,"unimplemented .nops directive",5)" identifier = (call_expression "dcgettext(0,"unimplemented .nops directive",5)" identifier (argument_list "(0,"unimplemented .nops directive",5)" ( number_literal , (string_literal ""unimplemented .nops directive"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ec90(uVar10);" (call_expression "FUN_0002ec90(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);" (assignment_expression "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150)" identifier = (call_expression "bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150)" identifier (argument_list "(DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }" { (expression_statement "uVar10 = bfd_get_error();" (assignment_expression "uVar10 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = bfd_errmsg(uVar10);" (assignment_expression "uVar11 = bfd_errmsg(uVar10)" identifier = (call_expression "bfd_errmsg(uVar10)" identifier (argument_list "(uVar10)" ( identifier )))) ;) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" identifier = (pointer_expression "*DAT_00088f24" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);" (assignment_expression "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5)" identifier = (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5)" identifier (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5)" ( number_literal , (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal )))) ;) comment (expression_statement "FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);" (call_expression "FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11)" identifier (argument_list "(uVar12,local_154,uVar3,uVar10,uVar11)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar20 = CARRY4(local_14c,local_154);" (assignment_expression "bVar20 = CARRY4(local_14c,local_154)" identifier = (call_expression "CARRY4(local_14c,local_154)" identifier (argument_list "(local_14c,local_154)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + local_154;" (assignment_expression "local_14c = local_14c + local_154" identifier = (binary_expression "local_14c + local_154" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + local_150 + (uint)bVar20;" (assignment_expression "local_148 = local_148 + local_150 + (uint)bVar20" identifier = (binary_expression "local_148 + local_150 + (uint)bVar20" (binary_expression "local_148 + local_150" identifier + identifier) + (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "local_138 = *(int *)(local_138 + 0x30);" (assignment_expression "local_138 = *(int *)(local_138 + 0x30)" identifier = (pointer_expression "*(int *)(local_138 + 0x30)" * (cast_expression "(int *)(local_138 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x30)" ( (binary_expression "local_138 + 0x30" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" else (compound_statement "{\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" { (if_statement "if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }" if (parenthesized_expression "(local_150 < 0)" ( (binary_expression "local_150 < 0" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }" { comment (expression_statement "FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");" (call_expression "FUN_0002edb0("../../gas/write.c",0x67d,"write_contents")" identifier (argument_list "("../../gas/write.c",0x67d,"write_contents")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""write_contents"" " string_content ") ))) ;) })) (if_statement "if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" if (parenthesized_expression "((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0))" ( (binary_expression "(uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)" (parenthesized_expression "(uVar2 != 0 || iVar16 != 0)" ( (binary_expression "uVar2 != 0 || iVar16 != 0" (binary_expression "uVar2 != 0" identifier != number_literal) || (binary_expression "iVar16 != 0" identifier != number_literal)) )) && (parenthesized_expression "(local_154 != 0 || local_150 != 0)" ( (binary_expression "local_154 != 0 || local_150 != 0" (binary_expression "local_154 != 0" identifier != number_literal) || (binary_expression "local_150 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" { (expression_statement "pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);" (assignment_expression "pbVar5 = (byte *)(uVar4 + local_138 + 0x4c)" identifier = (cast_expression "(byte *)(uVar4 + local_138 + 0x4c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar4 + local_138 + 0x4c)" ( (binary_expression "uVar4 + local_138 + 0x4c" (binary_expression "uVar4 + local_138" identifier + identifier) + number_literal) )))) ;) (expression_statement "uVar4 = uVar2;" (assignment_expression "uVar4 = uVar2" identifier = identifier) ;) (if_statement "if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }" if (parenthesized_expression "(iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16)" ( (binary_expression "iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16" (binary_expression "iVar16 == 0" identifier == number_literal) && (binary_expression "(uint)(0x100 < uVar2) <= (uint)-iVar16" (call_expression "(uint)(0x100 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x100 < uVar2)" ( (binary_expression "0x100 < uVar2" number_literal < identifier) ))) <= (binary_expression "(uint)-iVar16" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }" { (if_statement "if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }" if (parenthesized_expression "(iVar16 == 0 && uVar2 == 1)" ( (binary_expression "iVar16 == 0 && uVar2 == 1" (binary_expression "iVar16 == 0" identifier == number_literal) && (binary_expression "uVar2 == 1" identifier == number_literal)) )) (compound_statement "{\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }" { (expression_statement "uVar7 = 0x100;" (assignment_expression "uVar7 = 0x100" identifier = number_literal) ;) (expression_statement "bVar1 = *pbVar5;" (assignment_expression "bVar1 = *pbVar5" identifier = (pointer_expression "*pbVar5" * identifier)) ;) (expression_statement "pbVar5 = local_11c;" (assignment_expression "pbVar5 = local_11c" identifier = identifier) ;) (for_statement "for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }" for ( (assignment_expression "iVar6 = 0x40" identifier = number_literal) ; (binary_expression "iVar6 != 0" identifier != number_literal) ; (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ) (compound_statement "{\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }" { (expression_statement "*(uint *)pbVar5 = (uint)bVar1 * 0x1010101;" (assignment_expression "*(uint *)pbVar5 = (uint)bVar1 * 0x1010101" (pointer_expression "*(uint *)pbVar5" * (cast_expression "(uint *)pbVar5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uint)bVar1 * 0x1010101" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;" (assignment_expression "pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4" identifier = (binary_expression "pbVar5 + ((uint)bVar21 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar21 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar21 * -2 + 1)" ( (binary_expression "(uint)bVar21 * -2 + 1" (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) })) }) (else_clause "else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }" else (compound_statement "{\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }" { (expression_statement "uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);" (assignment_expression "uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16)" identifier = (call_expression "FUN_00057d50(0x100,0,uVar2,iVar16)" identifier (argument_list "(0x100,0,uVar2,iVar16)" ( number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "pbVar8 = local_11c;" (assignment_expression "pbVar8 = local_11c" identifier = identifier) ;) (expression_statement "uVar17 = uVar7;" (assignment_expression "uVar17 = uVar7" identifier = identifier) ;) (do_statement "do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);" do (compound_statement "{\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              }" { (while_statement "while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }" while (parenthesized_expression "(uVar2 < 4)" ( (binary_expression "uVar2 < 4" identifier < number_literal) )) (compound_statement "{\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }" { (if_statement "if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }" if (parenthesized_expression "((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0))" ( (binary_expression "(uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(*pbVar8 = *pbVar5, (uVar2 & 2) != 0)" ( (comma_expression "*pbVar8 = *pbVar5, (uVar2 & 2) != 0" (assignment_expression "*pbVar8 = *pbVar5" (pointer_expression "*pbVar8" * identifier) = (pointer_expression "*pbVar5" * identifier)) , (binary_expression "(uVar2 & 2) != 0" (parenthesized_expression "(uVar2 & 2)" ( (binary_expression "uVar2 & 2" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }" { (expression_statement "*(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));" (assignment_expression "*(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2))" (pointer_expression "*(undefined2 *)(pbVar8 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pbVar8 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + (uVar2 - 2))" ( (binary_expression "pbVar8 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(pbVar5 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pbVar5 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + (uVar2 - 2))" ( (binary_expression "pbVar5 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) ))))) ;) })) (expression_statement "pbVar8 = pbVar8 + uVar2;" (assignment_expression "pbVar8 = pbVar8 + uVar2" identifier = (binary_expression "pbVar8 + uVar2" identifier + identifier)) ;) (expression_statement "uVar17 = uVar17 - 1;" (assignment_expression "uVar17 = uVar17 - 1" identifier = (binary_expression "uVar17 - 1" identifier - number_literal)) ;) (if_statement "if (uVar17 == 0) goto LAB_00041359;" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00041359;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;" (assignment_expression "*(undefined4 *)pbVar8 = *(undefined4 *)pbVar5" (pointer_expression "*(undefined4 *)pbVar8" * (cast_expression "(undefined4 *)pbVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)pbVar5" * (cast_expression "(undefined4 *)pbVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));" (assignment_expression "*(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4))" (pointer_expression "*(undefined4 *)(pbVar8 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pbVar8 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + (uVar2 - 4))" ( (binary_expression "pbVar8 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(pbVar5 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pbVar5 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + (uVar2 - 4))" ( (binary_expression "pbVar5 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) ))))) ;) (expression_statement "iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);" (assignment_expression "iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc)" identifier = (binary_expression "(int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc)" (cast_expression "(int)pbVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(pbVar8 + 4) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pbVar8 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar8 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar8 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar8 + 4)" ( (binary_expression "pbVar8 + 4" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "pbVar18 = pbVar5 + -iVar6;" (assignment_expression "pbVar18 = pbVar5 + -iVar6" identifier = (binary_expression "pbVar5 + -iVar6" identifier + (unary_expression "-iVar6" - identifier))) ;) (expression_statement "puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);" (assignment_expression "puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pbVar8 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar8 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar8 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar8 + 4)" ( (binary_expression "pbVar8 + 4" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }" for ( (assignment_expression "uVar14 = iVar6 + uVar2 >> 2" identifier = (binary_expression "iVar6 + uVar2 >> 2" (binary_expression "iVar6 + uVar2" identifier + identifier) >> number_literal)) ; (binary_expression "uVar14 != 0" identifier != number_literal) ; (assignment_expression "uVar14 = uVar14 - 1" identifier = (binary_expression "uVar14 - 1" identifier - number_literal)) ) (compound_statement "{\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }" { (expression_statement "*puVar19 = *(undefined4 *)pbVar18;" (assignment_expression "*puVar19 = *(undefined4 *)pbVar18" (pointer_expression "*puVar19" * identifier) = (pointer_expression "*(undefined4 *)pbVar18" * (cast_expression "(undefined4 *)pbVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;" (assignment_expression "pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4" identifier = (binary_expression "pbVar18 + ((uint)bVar21 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar21 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar21 * -2 + 1)" ( (binary_expression "(uint)bVar21 * -2 + 1" (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) (expression_statement "puVar19 = puVar19 + (uint)bVar21 * -2 + 1;" (assignment_expression "puVar19 = puVar19 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "puVar19 + (uint)bVar21 * -2 + 1" (binary_expression "puVar19 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "uVar17 = uVar17 - 1;" (assignment_expression "uVar17 = uVar17 - 1" identifier = (binary_expression "uVar17 - 1" identifier - number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + uVar2;" (assignment_expression "pbVar8 = pbVar8 + uVar2" identifier = (binary_expression "pbVar8 + uVar2" identifier + identifier)) ;) }) while (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) ;) }))) (labeled_statement "LAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" statement_identifier : (do_statement "do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" do (compound_statement "{\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            }" { (expression_statement "local_134 = local_11c;" (assignment_expression "local_134 = local_11c" identifier = identifier) ;) (expression_statement "iVar6 = (int)uVar7 >> 0x1f;" (assignment_expression "iVar6 = (int)uVar7 >> 0x1f" identifier = (binary_expression "(int)uVar7 >> 0x1f" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }" if (parenthesized_expression "((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0)" ( (binary_expression "(SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0" (parenthesized_expression "(SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7)))" ( (binary_expression "SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))" (call_expression "SBORROW4(local_150,iVar6)" identifier (argument_list "(local_150,iVar6)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))" identifier (argument_list "(local_150 - iVar6,(uint)(local_154 < uVar7))" ( (binary_expression "local_150 - iVar6" identifier - identifier) , (call_expression "(uint)(local_154 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar7)" ( (binary_expression "local_154 < uVar7" identifier < identifier) ))) )))) )) != (binary_expression "(int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0" (cast_expression "(int)((local_150 - iVar6) - (uint)(local_154 < uVar7))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_150 - iVar6) - (uint)(local_154 < uVar7))" ( (binary_expression "(local_150 - iVar6) - (uint)(local_154 < uVar7)" (parenthesized_expression "(local_150 - iVar6)" ( (binary_expression "local_150 - iVar6" identifier - identifier) )) - (call_expression "(uint)(local_154 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar7)" ( (binary_expression "local_154 < uVar7" identifier < identifier) )))) ))) < number_literal)) )) (compound_statement "{\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }" { (expression_statement "uVar7 = local_154;" (assignment_expression "uVar7 = local_154" identifier = identifier) ;) (expression_statement "iVar6 = local_150;" (assignment_expression "iVar6 = local_150" identifier = identifier) ;) })) (expression_statement "uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);" (assignment_expression "uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7)" identifier = (call_expression "(uint)((ulonglong)uVar4 * (ulonglong)uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar4 * (ulonglong)uVar7)" ( (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar7" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;" (assignment_expression "iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7" identifier = (binary_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7" (binary_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6" (cast_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20)" ( (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20" (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar7" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) >> number_literal) ))) + (binary_expression "uVar4 * iVar6" identifier * identifier)) + (binary_expression "iVar16 * uVar7" identifier * identifier))) ;) (expression_statement "iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);" (assignment_expression "iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15)" identifier = (call_expression "bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15)" identifier (argument_list "(DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }" { (expression_statement "uVar10 = bfd_get_error(uVar7,iVar6);" (assignment_expression "uVar10 = bfd_get_error(uVar7,iVar6)" identifier = (call_expression "bfd_get_error(uVar7,iVar6)" identifier (argument_list "(uVar7,iVar6)" ( identifier , identifier )))) ;) (expression_statement "uVar11 = bfd_errmsg(uVar10);" (assignment_expression "uVar11 = bfd_errmsg(uVar10)" identifier = (call_expression "bfd_errmsg(uVar10)" identifier (argument_list "(uVar10)" ( identifier )))) ;) (expression_statement "iVar16 = uVar2 * uVar7;" (assignment_expression "iVar16 = uVar2 * uVar7" identifier = (binary_expression "uVar2 * uVar7" identifier * identifier)) ;) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" identifier = (pointer_expression "*DAT_00088f24" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);" (assignment_expression "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5)" identifier = (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5)" identifier (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5)" ( number_literal , (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal )))) ;) comment (expression_statement "FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);" (call_expression "FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11)" identifier (argument_list "(uVar12,iVar16,uVar3,uVar10,uVar11)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar20 = CARRY4(local_14c,uVar17);" (assignment_expression "bVar20 = CARRY4(local_14c,uVar17)" identifier = (call_expression "CARRY4(local_14c,uVar17)" identifier (argument_list "(local_14c,uVar17)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar17;" (assignment_expression "local_14c = local_14c + uVar17" identifier = (binary_expression "local_14c + uVar17" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar15 + (uint)bVar20;" (assignment_expression "local_148 = local_148 + iVar15 + (uint)bVar20" identifier = (binary_expression "local_148 + iVar15 + (uint)bVar20" (binary_expression "local_148 + iVar15" identifier + identifier) + (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar20 = local_154 < uVar7;" (assignment_expression "bVar20 = local_154 < uVar7" identifier = (binary_expression "local_154 < uVar7" identifier < identifier)) ;) (expression_statement "local_154 = local_154 - uVar7;" (assignment_expression "local_154 = local_154 - uVar7" identifier = (binary_expression "local_154 - uVar7" identifier - identifier)) ;) (expression_statement "local_150 = (local_150 - iVar6) - (uint)bVar20;" (assignment_expression "local_150 = (local_150 - iVar6) - (uint)bVar20" identifier = (binary_expression "(local_150 - iVar6) - (uint)bVar20" (parenthesized_expression "(local_150 - iVar6)" ( (binary_expression "local_150 - iVar6" identifier - identifier) )) - (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(-local_150 < (int)(uint)(local_154 != 0))" ( (binary_expression "-local_150 < (int)(uint)(local_154 != 0)" (unary_expression "-local_150" - identifier) < (cast_expression "(int)(uint)(local_154 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(local_154 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 != 0)" ( (binary_expression "local_154 != 0" identifier != number_literal) ))))) )) ;)) }) (else_clause "else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }" else (compound_statement "{\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }" { (do_statement "do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);" do (compound_statement "{\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            }" { (expression_statement "iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);" (assignment_expression "iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16)" identifier = (call_expression "bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16)" identifier (argument_list "(DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }" { (expression_statement "uVar10 = bfd_get_error();" (assignment_expression "uVar10 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = bfd_errmsg(uVar10);" (assignment_expression "uVar11 = bfd_errmsg(uVar10)" identifier = (call_expression "bfd_errmsg(uVar10)" identifier (argument_list "(uVar10)" ( identifier )))) ;) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" identifier = (pointer_expression "*DAT_00088f24" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);" (assignment_expression "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5)" identifier = (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5)" identifier (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5)" ( number_literal , (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal )))) ;) comment (expression_statement "FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);" (call_expression "FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11)" identifier (argument_list "(uVar12,uVar2,uVar3,uVar10,uVar11)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar20 = CARRY4(local_14c,uVar4);" (assignment_expression "bVar20 = CARRY4(local_14c,uVar4)" identifier = (call_expression "CARRY4(local_14c,uVar4)" identifier (argument_list "(local_14c,uVar4)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar4;" (assignment_expression "local_14c = local_14c + uVar4" identifier = (binary_expression "local_14c + uVar4" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar16 + (uint)bVar20;" (assignment_expression "local_148 = local_148 + iVar16 + (uint)bVar20" identifier = (binary_expression "local_148 + iVar16 + (uint)bVar20" (binary_expression "local_148 + iVar16" identifier + identifier) + (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar20 = local_154 != 0;" (assignment_expression "bVar20 = local_154 != 0" identifier = (binary_expression "local_154 != 0" identifier != number_literal)) ;) (expression_statement "local_154 = local_154 - 1;" (assignment_expression "local_154 = local_154 - 1" identifier = (binary_expression "local_154 - 1" identifier - number_literal)) ;) (expression_statement "local_150 = local_150 + -1 + (uint)bVar20;" (assignment_expression "local_150 = local_150 + -1 + (uint)bVar20" identifier = (binary_expression "local_150 + -1 + (uint)bVar20" (binary_expression "local_150 + -1" identifier + number_literal) + (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_150 != 0 || local_154 != 0)" ( (binary_expression "local_150 != 0 || local_154 != 0" (binary_expression "local_150 != 0" identifier != number_literal) || (binary_expression "local_154 != 0" identifier != number_literal)) )) ;) }))) })) (labeled_statement "LAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);" statement_identifier : (expression_statement "local_138 = *(int *)(local_138 + 0x30);" (assignment_expression "local_138 = *(int *)(local_138 + 0x30)" identifier = (pointer_expression "*(int *)(local_138 + 0x30)" * (cast_expression "(int *)(local_138 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x30)" ( (binary_expression "local_138 + 0x30" identifier + number_literal) ))))) ;)) }))) (if_statement "if (local_138 == 0) {\n        return;\n      }" if (parenthesized_expression "(local_138 == 0)" ( (binary_expression "local_138 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) while (parenthesized_expression "((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10))" ( (binary_expression "(*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)" (parenthesized_expression "(*(int *)(local_138 + 0x44) == 1)" ( (binary_expression "*(int *)(local_138 + 0x44) == 1" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" ( (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) ))) )) ;) })) comment (expression_statement "FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");" (call_expression "FUN_0002edb0("../../gas/write.c",0x64f,"write_contents")" identifier (argument_list "("../../gas/write.c",0x64f,"write_contents")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""write_contents"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid write_contents(bfd *abfd,asection *sec,void *xxx)\n\n{\n  byte bVar1;\n  uint uVar2;\n  char *pcVar3;\n  uint uVar4;\n  byte *pbVar5;\n  int iVar6;\n  void *__ptr;\n  char *pcVar7;\n  uint uVar8;\n  byte *pbVar9;\n  int iVar10;\n  undefined4 uVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  bool bVar21;\n  byte bVar22;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  int local_138;\n  char *local_134;\n  char buf [256];\n  \n  bVar22 = 0;\n                    /* WARNING: Load size is inaccurate */\n  if ((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = **sec->userdata, local_138 == 0)) {\n    return;\n  }\n  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar13 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar21 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5);\n        as_bad(pcVar7);\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);\n        }\n        bVar21 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar21;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/write.c",0x64f,"write_contents");\n}\n\n" comment (function_definition "void write_contents(bfd *abfd,asection *sec,void *xxx)\n\n{\n  byte bVar1;\n  uint uVar2;\n  char *pcVar3;\n  uint uVar4;\n  byte *pbVar5;\n  int iVar6;\n  void *__ptr;\n  char *pcVar7;\n  uint uVar8;\n  byte *pbVar9;\n  int iVar10;\n  undefined4 uVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  bool bVar21;\n  byte bVar22;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  int local_138;\n  char *local_134;\n  char buf [256];\n  \n  bVar22 = 0;\n                    /* WARNING: Load size is inaccurate */\n  if ((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = **sec->userdata, local_138 == 0)) {\n    return;\n  }\n  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar13 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar21 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5);\n        as_bad(pcVar7);\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);\n        }\n        bVar21 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar21;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/write.c",0x64f,"write_contents");\n}" primitive_type (function_declarator "write_contents(bfd *abfd,asection *sec,void *xxx)" identifier (parameter_list "(bfd *abfd,asection *sec,void *xxx)" ( (parameter_declaration "bfd *abfd" type_identifier (pointer_declarator "*abfd" * identifier)) , (parameter_declaration "asection *sec" type_identifier (pointer_declarator "*sec" * identifier)) , (parameter_declaration "void *xxx" primitive_type (pointer_declarator "*xxx" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  uint uVar2;\n  char *pcVar3;\n  uint uVar4;\n  byte *pbVar5;\n  int iVar6;\n  void *__ptr;\n  char *pcVar7;\n  uint uVar8;\n  byte *pbVar9;\n  int iVar10;\n  undefined4 uVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  bool bVar21;\n  byte bVar22;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  int local_138;\n  char *local_134;\n  char buf [256];\n  \n  bVar22 = 0;\n                    /* WARNING: Load size is inaccurate */\n  if ((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = **sec->userdata, local_138 == 0)) {\n    return;\n  }\n  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar13 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar21 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5);\n        as_bad(pcVar7);\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);\n        }\n        bVar21 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar21;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/write.c",0x64f,"write_contents");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "uint local_154;" type_identifier identifier ;) (declaration "int local_150;" primitive_type identifier ;) (declaration "uint local_14c;" type_identifier identifier ;) (declaration "int local_148;" primitive_type identifier ;) (declaration "int local_138;" primitive_type identifier ;) (declaration "char *local_134;" primitive_type (pointer_declarator "*local_134" * identifier) ;) (declaration "char buf [256];" primitive_type (array_declarator "buf [256]" identifier [ number_literal ]) ;) (expression_statement "bVar22 = 0;" (assignment_expression "bVar22 = 0" identifier = number_literal) ;) comment (if_statement "if ((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = **sec->userdata, local_138 == 0)) {\n    return;\n  }" if (parenthesized_expression "((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = **sec->userdata, local_138 == 0))" ( (binary_expression "(((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = **sec->userdata, local_138 == 0)" (parenthesized_expression "(((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0))" ( (binary_expression "((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)" (parenthesized_expression "((undefined4 *)sec->userdata == (undefined4 *)0x0)" ( (binary_expression "(undefined4 *)sec->userdata == (undefined4 *)0x0" (cast_expression "(undefined4 *)sec->userdata" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "sec->userdata" identifier -> field_identifier)) == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((sec->flags & 0x100) == 0)" ( (binary_expression "(sec->flags & 0x100) == 0" (parenthesized_expression "(sec->flags & 0x100)" ( (binary_expression "sec->flags & 0x100" (field_expression "sec->flags" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(local_138 = **sec->userdata, local_138 == 0)" ( (comma_expression "local_138 = **sec->userdata, local_138 == 0" (assignment_expression "local_138 = **sec->userdata" identifier = (pointer_expression "**sec->userdata" * (pointer_expression "*sec->userdata" * (field_expression "sec->userdata" identifier -> field_identifier)))) , (binary_expression "local_138 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar13 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar21 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5);\n        as_bad(pcVar7);\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);\n        }\n        bVar21 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar21;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }" if (parenthesized_expression "((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10))" ( (binary_expression "(*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)" (parenthesized_expression "(*(int *)(local_138 + 0x44) == 1)" ( (binary_expression "*(int *)(local_138 + 0x44) == 1" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" ( (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar13 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar21 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5);\n        as_bad(pcVar7);\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);\n        }\n        bVar21 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar21;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }" { (expression_statement "local_14c = 0;" (assignment_expression "local_14c = 0" identifier = number_literal) ;) (expression_statement "local_148 = 0;" (assignment_expression "local_148 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar13 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar21 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5);\n        as_bad(pcVar7);\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);\n        }\n        bVar21 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar21;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));" do (compound_statement "{\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar13 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar21 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5);\n        as_bad(pcVar7);\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);\n        }\n        bVar21 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar21;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    }" { (expression_statement "uVar4 = *(uint *)(local_138 + 0x10);" (assignment_expression "uVar4 = *(uint *)(local_138 + 0x10)" identifier = (pointer_expression "*(uint *)(local_138 + 0x10)" * (cast_expression "(uint *)(local_138 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x10)" ( (binary_expression "local_138 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar13 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar21 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21;\n      }" if (parenthesized_expression "(*(int *)(local_138 + 0x14) != 0 || uVar4 != 0)" ( (binary_expression "*(int *)(local_138 + 0x14) != 0 || uVar4 != 0" (binary_expression "*(int *)(local_138 + 0x14) != 0" (pointer_expression "*(int *)(local_138 + 0x14)" * (cast_expression "(int *)(local_138 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x14)" ( (binary_expression "local_138 + 0x14" identifier + number_literal) )))) != number_literal) || (binary_expression "uVar4 != 0" identifier != number_literal)) )) (compound_statement "{\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar13 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar21 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21;\n      }" { (expression_statement "iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));" (assignment_expression "iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" identifier = (call_expression "bfd_set_section_contents\n                           (stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" identifier (argument_list "(stdoutput,sec,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" ( identifier , identifier , (binary_expression "local_138 + 0x4c" identifier + number_literal) , identifier , identifier , identifier , (pointer_expression "*(int *)(local_138 + 0x14)" * (cast_expression "(int *)(local_138 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x14)" ( (binary_expression "local_138 + 0x14" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar13 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar11 = bfd_get_error();\n          uVar13 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);\n        }" { (expression_statement "uVar11 = bfd_get_error();" (assignment_expression "uVar11 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar13 = bfd_errmsg(uVar11);" (assignment_expression "uVar13 = bfd_errmsg(uVar11)" identifier = (call_expression "bfd_errmsg(uVar11)" identifier (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "pcVar7 = stdoutput->filename;" (assignment_expression "pcVar7 = stdoutput->filename" identifier = (field_expression "stdoutput->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar3 = sec->name;" (assignment_expression "pcVar3 = sec->name" identifier = (field_expression "sec->name" identifier -> field_identifier)) ;) (expression_statement "uVar11 = *(undefined4 *)(local_138 + 0x10);" (assignment_expression "uVar11 = *(undefined4 *)(local_138 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(local_138 + 0x10)" * (cast_expression "(undefined4 *)(local_138 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x10)" ( (binary_expression "local_138 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      );" (assignment_expression "pcVar12 = (char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      )" identifier = (cast_expression "(char *)dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      )" identifier (argument_list "(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5\n                                      )" ( number_literal , (string_literal ""can\'t write %ld byte to section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t write %ld bytes to section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) comment (expression_statement "as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13);" (call_expression "as_fatal(pcVar12,uVar11,pcVar3,pcVar7,uVar13)" identifier (argument_list "(pcVar12,uVar11,pcVar3,pcVar7,uVar13)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "uVar4 = *(uint *)(local_138 + 0x10);" (assignment_expression "uVar4 = *(uint *)(local_138 + 0x10)" identifier = (pointer_expression "*(uint *)(local_138 + 0x10)" * (cast_expression "(uint *)(local_138 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x10)" ( (binary_expression "local_138 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "bVar21 = CARRY4(local_14c,uVar4);" (assignment_expression "bVar21 = CARRY4(local_14c,uVar4)" identifier = (call_expression "CARRY4(local_14c,uVar4)" identifier (argument_list "(local_14c,uVar4)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar4;" (assignment_expression "local_14c = local_14c + uVar4" identifier = (binary_expression "local_14c + uVar4" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21;" (assignment_expression "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21" identifier = (binary_expression "local_148 + *(int *)(local_138 + 0x14) + (uint)bVar21" (binary_expression "local_148 + *(int *)(local_138 + 0x14)" identifier + (pointer_expression "*(int *)(local_138 + 0x14)" * (cast_expression "(int *)(local_138 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x14)" ( (binary_expression "local_138 + 0x14" identifier + number_literal) ))))) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "uVar2 = *(uint *)(local_138 + 0x18);" (assignment_expression "uVar2 = *(uint *)(local_138 + 0x18)" identifier = (pointer_expression "*(uint *)(local_138 + 0x18)" * (cast_expression "(uint *)(local_138 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x18)" ( (binary_expression "local_138 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(local_138 + 0x1c);" (assignment_expression "iVar16 = *(int *)(local_138 + 0x1c)" identifier = (pointer_expression "*(int *)(local_138 + 0x1c)" * (cast_expression "(int *)(local_138 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x1c)" ( (binary_expression "local_138 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_150 = *(int *)(local_138 + 0x24);" (assignment_expression "local_150 = *(int *)(local_138 + 0x24)" identifier = (pointer_expression "*(int *)(local_138 + 0x24)" * (cast_expression "(int *)(local_138 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x24)" ( (binary_expression "local_138 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "local_154 = *(uint *)(local_138 + 0x20);" (assignment_expression "local_154 = *(uint *)(local_138 + 0x20)" identifier = (pointer_expression "*(uint *)(local_138 + 0x20)" * (cast_expression "(uint *)(local_138 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x20)" ( (binary_expression "local_138 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5);\n        as_bad(pcVar7);\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);\n        }\n        bVar21 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar21;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" if (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" ( (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5);\n        as_bad(pcVar7);\n        iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);\n        }\n        bVar21 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar21;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }" { (if_statement "if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x667,"write_contents");\n        }" if (parenthesized_expression "((local_150 < 0) || (uVar2 != 1 || iVar16 != 0))" ( (binary_expression "(local_150 < 0) || (uVar2 != 1 || iVar16 != 0)" (parenthesized_expression "(local_150 < 0)" ( (binary_expression "local_150 < 0" identifier < number_literal) )) || (parenthesized_expression "(uVar2 != 1 || iVar16 != 0)" ( (binary_expression "uVar2 != 1 || iVar16 != 0" (binary_expression "uVar2 != 1" identifier != number_literal) || (binary_expression "iVar16 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x667,"write_contents");\n        }" { comment (expression_statement "as_abort("../../gas/write.c",0x667,"write_contents");" (call_expression "as_abort("../../gas/write.c",0x667,"write_contents")" identifier (argument_list "("../../gas/write.c",0x667,"write_contents")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""write_contents"" " string_content ") ))) ;) })) (if_statement "if (local_150 == 0 && local_154 == 0) goto LAB_00041120;" if (parenthesized_expression "(local_150 == 0 && local_154 == 0)" ( (binary_expression "local_150 == 0 && local_154 == 0" (binary_expression "local_150 == 0" identifier == number_literal) && (binary_expression "local_154 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00041120;" goto statement_identifier ;)) (expression_statement "__ptr = (void *)xmalloc(local_154);" (assignment_expression "__ptr = (void *)xmalloc(local_154)" identifier = (cast_expression "(void *)xmalloc(local_154)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_154)" identifier (argument_list "(local_154)" ( identifier ))))) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"unimplemented .nops directive",5)" identifier = (cast_expression "(char *)dcgettext(0,"unimplemented .nops directive",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"unimplemented .nops directive",5)" identifier (argument_list "(0,"unimplemented .nops directive",5)" ( number_literal , (string_literal ""unimplemented .nops directive"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar7);" (call_expression "as_bad(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (expression_statement "iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150);" (assignment_expression "iVar16 = bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150)" identifier = (call_expression "bfd_set_section_contents\n                           (stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150)" identifier (argument_list "(stdoutput,sec,__ptr,local_14c,local_148,local_154,local_150)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar16 == 0) {\n          uVar11 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar11 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar11);\n          pcVar7 = stdoutput->filename;\n          pcVar3 = sec->name;\n          pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);\n        }" { (expression_statement "uVar11 = bfd_get_error();" (assignment_expression "uVar11 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = bfd_errmsg(uVar11);" (assignment_expression "uVar11 = bfd_errmsg(uVar11)" identifier = (call_expression "bfd_errmsg(uVar11)" identifier (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "pcVar7 = stdoutput->filename;" (assignment_expression "pcVar7 = stdoutput->filename" identifier = (field_expression "stdoutput->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar3 = sec->name;" (assignment_expression "pcVar3 = sec->name" identifier = (field_expression "sec->name" identifier -> field_identifier)) ;) (expression_statement "pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5);" (assignment_expression "pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5)" identifier = (cast_expression "(char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5)" identifier (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154\n                                       ,5)" ( number_literal , (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) comment (expression_statement "as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11);" (call_expression "as_fatal(pcVar12,local_154,pcVar3,pcVar7,uVar11)" identifier (argument_list "(pcVar12,local_154,pcVar3,pcVar7,uVar11)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar21 = CARRY4(local_14c,local_154);" (assignment_expression "bVar21 = CARRY4(local_14c,local_154)" identifier = (call_expression "CARRY4(local_14c,local_154)" identifier (argument_list "(local_14c,local_154)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + local_154;" (assignment_expression "local_14c = local_14c + local_154" identifier = (binary_expression "local_14c + local_154" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + local_150 + (uint)bVar21;" (assignment_expression "local_148 = local_148 + local_150 + (uint)bVar21" identifier = (binary_expression "local_148 + local_150 + (uint)bVar21" (binary_expression "local_148 + local_150" identifier + identifier) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "local_138 = *(int *)(local_138 + 0x30);" (assignment_expression "local_138 = *(int *)(local_138 + 0x30)" identifier = (pointer_expression "*(int *)(local_138 + 0x30)" * (cast_expression "(int *)(local_138 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x30)" ( (binary_expression "local_138 + 0x30" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" else (compound_statement "{\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" { (if_statement "if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }" if (parenthesized_expression "(local_150 < 0)" ( (binary_expression "local_150 < 0" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/write.c",0x67d,"write_contents");\n        }" { comment (expression_statement "as_abort("../../gas/write.c",0x67d,"write_contents");" (call_expression "as_abort("../../gas/write.c",0x67d,"write_contents")" identifier (argument_list "("../../gas/write.c",0x67d,"write_contents")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""write_contents"" " string_content ") ))) ;) })) (if_statement "if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" if (parenthesized_expression "((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0))" ( (binary_expression "(uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)" (parenthesized_expression "(uVar2 != 0 || iVar16 != 0)" ( (binary_expression "uVar2 != 0 || iVar16 != 0" (binary_expression "uVar2 != 0" identifier != number_literal) || (binary_expression "iVar16 != 0" identifier != number_literal)) )) && (parenthesized_expression "(local_154 != 0 || local_150 != 0)" ( (binary_expression "local_154 != 0 || local_150 != 0" (binary_expression "local_154 != 0" identifier != number_literal) || (binary_expression "local_150 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" { (expression_statement "pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);" (assignment_expression "pbVar5 = (byte *)(uVar4 + local_138 + 0x4c)" identifier = (cast_expression "(byte *)(uVar4 + local_138 + 0x4c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar4 + local_138 + 0x4c)" ( (binary_expression "uVar4 + local_138 + 0x4c" (binary_expression "uVar4 + local_138" identifier + identifier) + number_literal) )))) ;) (expression_statement "uVar4 = uVar2;" (assignment_expression "uVar4 = uVar2" identifier = identifier) ;) (if_statement "if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }" if (parenthesized_expression "(iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16)" ( (binary_expression "iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16" (binary_expression "iVar16 == 0" identifier == number_literal) && (binary_expression "(uint)(0x100 < uVar2) <= (uint)-iVar16" (call_expression "(uint)(0x100 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x100 < uVar2)" ( (binary_expression "0x100 < uVar2" number_literal < identifier) ))) <= (binary_expression "(uint)-iVar16" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }" { (if_statement "if (iVar16 == 0 && uVar2 == 1) {\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }" if (parenthesized_expression "(iVar16 == 0 && uVar2 == 1)" ( (binary_expression "iVar16 == 0 && uVar2 == 1" (binary_expression "iVar16 == 0" identifier == number_literal) && (binary_expression "uVar2 == 1" identifier == number_literal)) )) (compound_statement "{\n              uVar8 = 0x100;\n              bVar1 = *pbVar5;\n              piVar20 = (int *)buf;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }\n            }" { (expression_statement "uVar8 = 0x100;" (assignment_expression "uVar8 = 0x100" identifier = number_literal) ;) (expression_statement "bVar1 = *pbVar5;" (assignment_expression "bVar1 = *pbVar5" identifier = (pointer_expression "*pbVar5" * identifier)) ;) (expression_statement "piVar20 = (int *)buf;" (assignment_expression "piVar20 = (int *)buf" identifier = (cast_expression "(int *)buf" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (for_statement "for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }" for ( (assignment_expression "iVar6 = 0x40" identifier = number_literal) ; (binary_expression "iVar6 != 0" identifier != number_literal) ; (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ) (compound_statement "{\n                *piVar20 = (uint)bVar1 * 0x1010101;\n                piVar20 = piVar20 + (uint)bVar22 * -2 + 1;\n              }" { (expression_statement "*piVar20 = (uint)bVar1 * 0x1010101;" (assignment_expression "*piVar20 = (uint)bVar1 * 0x1010101" (pointer_expression "*piVar20" * identifier) = (binary_expression "(uint)bVar1 * 0x1010101" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) (expression_statement "piVar20 = piVar20 + (uint)bVar22 * -2 + 1;" (assignment_expression "piVar20 = piVar20 + (uint)bVar22 * -2 + 1" identifier = (binary_expression "piVar20 + (uint)bVar22 * -2 + 1" (binary_expression "piVar20 + (uint)bVar22 * -2" identifier + (binary_expression "(uint)bVar22 * -2" (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }) (else_clause "else {\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }" else (compound_statement "{\n              uVar8 = __udivdi3(0x100,0,uVar2,iVar16);\n              pbVar9 = (byte *)buf;\n              uVar17 = uVar8;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);\n            }" { (expression_statement "uVar8 = __udivdi3(0x100,0,uVar2,iVar16);" (assignment_expression "uVar8 = __udivdi3(0x100,0,uVar2,iVar16)" identifier = (call_expression "__udivdi3(0x100,0,uVar2,iVar16)" identifier (argument_list "(0x100,0,uVar2,iVar16)" ( number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "pbVar9 = (byte *)buf;" (assignment_expression "pbVar9 = (byte *)buf" identifier = (cast_expression "(byte *)buf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar17 = uVar8;" (assignment_expression "uVar17 = uVar8" identifier = identifier) ;) (do_statement "do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              } while (uVar17 != 0);" do (compound_statement "{\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar9 = pbVar9 + uVar2;\n              }" { (while_statement "while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }" while (parenthesized_expression "(uVar2 < 4)" ( (binary_expression "uVar2 < 4" identifier < number_literal) )) (compound_statement "{\n                  if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar9 = pbVar9 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }" { (if_statement "if ((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }" if (parenthesized_expression "((uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0))" ( (binary_expression "(uVar2 != 0) && (*pbVar9 = *pbVar5, (uVar2 & 2) != 0)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(*pbVar9 = *pbVar5, (uVar2 & 2) != 0)" ( (comma_expression "*pbVar9 = *pbVar5, (uVar2 & 2) != 0" (assignment_expression "*pbVar9 = *pbVar5" (pointer_expression "*pbVar9" * identifier) = (pointer_expression "*pbVar5" * identifier)) , (binary_expression "(uVar2 & 2) != 0" (parenthesized_expression "(uVar2 & 2)" ( (binary_expression "uVar2 & 2" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                    *(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }" { (expression_statement "*(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));" (assignment_expression "*(undefined2 *)(pbVar9 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2))" (pointer_expression "*(undefined2 *)(pbVar9 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pbVar9 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar9 + (uVar2 - 2))" ( (binary_expression "pbVar9 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(pbVar5 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pbVar5 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + (uVar2 - 2))" ( (binary_expression "pbVar5 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) ))))) ;) })) (expression_statement "pbVar9 = pbVar9 + uVar2;" (assignment_expression "pbVar9 = pbVar9 + uVar2" identifier = (binary_expression "pbVar9 + uVar2" identifier + identifier)) ;) (expression_statement "uVar17 = uVar17 - 1;" (assignment_expression "uVar17 = uVar17 - 1" identifier = (binary_expression "uVar17 - 1" identifier - number_literal)) ;) (if_statement "if (uVar17 == 0) goto LAB_00041359;" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00041359;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)pbVar9 = *(undefined4 *)pbVar5;" (assignment_expression "*(undefined4 *)pbVar9 = *(undefined4 *)pbVar5" (pointer_expression "*(undefined4 *)pbVar9" * (cast_expression "(undefined4 *)pbVar9" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)pbVar5" * (cast_expression "(undefined4 *)pbVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));" (assignment_expression "*(undefined4 *)(pbVar9 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4))" (pointer_expression "*(undefined4 *)(pbVar9 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pbVar9 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar9 + (uVar2 - 4))" ( (binary_expression "pbVar9 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(pbVar5 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pbVar5 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + (uVar2 - 4))" ( (binary_expression "pbVar5 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) ))))) ;) (expression_statement "iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc);" (assignment_expression "iVar6 = (int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc)" identifier = (binary_expression "(int)pbVar9 - (int)((uint)(pbVar9 + 4) & 0xfffffffc)" (cast_expression "(int)pbVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(pbVar9 + 4) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pbVar9 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar9 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar9 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar9 + 4)" ( (binary_expression "pbVar9 + 4" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "pbVar18 = pbVar5 + -iVar6;" (assignment_expression "pbVar18 = pbVar5 + -iVar6" identifier = (binary_expression "pbVar5 + -iVar6" identifier + (unary_expression "-iVar6" - identifier))) ;) (expression_statement "puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc);" (assignment_expression "puVar19 = (undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(pbVar9 + 4) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pbVar9 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar9 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar9 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar9 + 4)" ( (binary_expression "pbVar9 + 4" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }" for ( (assignment_expression "uVar14 = iVar6 + uVar2 >> 2" identifier = (binary_expression "iVar6 + uVar2 >> 2" (binary_expression "iVar6 + uVar2" identifier + identifier) >> number_literal)) ; (binary_expression "uVar14 != 0" identifier != number_literal) ; (assignment_expression "uVar14 = uVar14 - 1" identifier = (binary_expression "uVar14 - 1" identifier - number_literal)) ) (compound_statement "{\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }" { (expression_statement "*puVar19 = *(undefined4 *)pbVar18;" (assignment_expression "*puVar19 = *(undefined4 *)pbVar18" (pointer_expression "*puVar19" * identifier) = (pointer_expression "*(undefined4 *)pbVar18" * (cast_expression "(undefined4 *)pbVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4;" (assignment_expression "pbVar18 = pbVar18 + ((uint)bVar22 * -2 + 1) * 4" identifier = (binary_expression "pbVar18 + ((uint)bVar22 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar22 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar22 * -2 + 1)" ( (binary_expression "(uint)bVar22 * -2 + 1" (binary_expression "(uint)bVar22 * -2" (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) (expression_statement "puVar19 = puVar19 + (uint)bVar22 * -2 + 1;" (assignment_expression "puVar19 = puVar19 + (uint)bVar22 * -2 + 1" identifier = (binary_expression "puVar19 + (uint)bVar22 * -2 + 1" (binary_expression "puVar19 + (uint)bVar22 * -2" identifier + (binary_expression "(uint)bVar22 * -2" (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "uVar17 = uVar17 - 1;" (assignment_expression "uVar17 = uVar17 - 1" identifier = (binary_expression "uVar17 - 1" identifier - number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + uVar2;" (assignment_expression "pbVar9 = pbVar9 + uVar2" identifier = (binary_expression "pbVar9 + uVar2" identifier + identifier)) ;) }) while (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) ;) }))) (labeled_statement "LAB_00041359:\n            do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" statement_identifier : (do_statement "do {\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" do (compound_statement "{\n              local_134 = buf;\n              iVar6 = (int)uVar8 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;\n              iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar21;\n              bVar21 = local_154 < uVar8;\n              local_154 = local_154 - uVar8;\n              local_150 = (local_150 - iVar6) - (uint)bVar21;\n            }" { (expression_statement "local_134 = buf;" (assignment_expression "local_134 = buf" identifier = identifier) ;) (expression_statement "iVar6 = (int)uVar8 >> 0x1f;" (assignment_expression "iVar6 = (int)uVar8 >> 0x1f" identifier = (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0) {\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }" if (parenthesized_expression "((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0)" ( (binary_expression "(SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0" (parenthesized_expression "(SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8)))" ( (binary_expression "SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))" (call_expression "SBORROW4(local_150,iVar6)" identifier (argument_list "(local_150,iVar6)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar8))" identifier (argument_list "(local_150 - iVar6,(uint)(local_154 < uVar8))" ( (binary_expression "local_150 - iVar6" identifier - identifier) , (call_expression "(uint)(local_154 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar8)" ( (binary_expression "local_154 < uVar8" identifier < identifier) ))) )))) )) != (binary_expression "(int)((local_150 - iVar6) - (uint)(local_154 < uVar8)) < 0" (cast_expression "(int)((local_150 - iVar6) - (uint)(local_154 < uVar8))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_150 - iVar6) - (uint)(local_154 < uVar8))" ( (binary_expression "(local_150 - iVar6) - (uint)(local_154 < uVar8)" (parenthesized_expression "(local_150 - iVar6)" ( (binary_expression "local_150 - iVar6" identifier - identifier) )) - (call_expression "(uint)(local_154 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar8)" ( (binary_expression "local_154 < uVar8" identifier < identifier) )))) ))) < number_literal)) )) (compound_statement "{\n                uVar8 = local_154;\n                iVar6 = local_150;\n              }" { (expression_statement "uVar8 = local_154;" (assignment_expression "uVar8 = local_154" identifier = identifier) ;) (expression_statement "iVar6 = local_150;" (assignment_expression "iVar6 = local_150" identifier = identifier) ;) })) (expression_statement "uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8);" (assignment_expression "uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar8)" identifier = (call_expression "(uint)((ulonglong)uVar4 * (ulonglong)uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar4 * (ulonglong)uVar8)" ( (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar8" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8;" (assignment_expression "iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8" identifier = (binary_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar8" (binary_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20) +\n                       uVar4 * iVar6" (cast_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20)" ( (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar8 >> 0x20" (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar8" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) >> number_literal) ))) + (binary_expression "uVar4 * iVar6" identifier * identifier)) + (binary_expression "iVar16 * uVar8" identifier * identifier))) ;) (expression_statement "iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15);" (assignment_expression "iVar10 = bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15)" identifier = (call_expression "bfd_set_section_contents\n                                 (stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15)" identifier (argument_list "(stdoutput,sec,local_134,local_14c,local_148,uVar17,iVar15)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar10 == 0) {\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar11 = bfd_get_error(uVar8,iVar6);\n                uVar11 = bfd_errmsg(uVar11);\n                iVar16 = uVar2 * uVar8;\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);\n              }" { (expression_statement "uVar11 = bfd_get_error(uVar8,iVar6);" (assignment_expression "uVar11 = bfd_get_error(uVar8,iVar6)" identifier = (call_expression "bfd_get_error(uVar8,iVar6)" identifier (argument_list "(uVar8,iVar6)" ( identifier , identifier )))) ;) (expression_statement "uVar11 = bfd_errmsg(uVar11);" (assignment_expression "uVar11 = bfd_errmsg(uVar11)" identifier = (call_expression "bfd_errmsg(uVar11)" identifier (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "iVar16 = uVar2 * uVar8;" (assignment_expression "iVar16 = uVar2 * uVar8" identifier = (binary_expression "uVar2 * uVar8" identifier * identifier)) ;) (expression_statement "pcVar7 = stdoutput->filename;" (assignment_expression "pcVar7 = stdoutput->filename" identifier = (field_expression "stdoutput->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar3 = sec->name;" (assignment_expression "pcVar3 = sec->name" identifier = (field_expression "sec->name" identifier -> field_identifier)) ;) (expression_statement "pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5);" (assignment_expression "pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5)" identifier = (cast_expression "(char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5)" identifier (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             iVar16,5)" ( number_literal , (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) comment (expression_statement "as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11);" (call_expression "as_fatal(pcVar12,iVar16,pcVar3,pcVar7,uVar11)" identifier (argument_list "(pcVar12,iVar16,pcVar3,pcVar7,uVar11)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar21 = CARRY4(local_14c,uVar17);" (assignment_expression "bVar21 = CARRY4(local_14c,uVar17)" identifier = (call_expression "CARRY4(local_14c,uVar17)" identifier (argument_list "(local_14c,uVar17)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar17;" (assignment_expression "local_14c = local_14c + uVar17" identifier = (binary_expression "local_14c + uVar17" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar15 + (uint)bVar21;" (assignment_expression "local_148 = local_148 + iVar15 + (uint)bVar21" identifier = (binary_expression "local_148 + iVar15 + (uint)bVar21" (binary_expression "local_148 + iVar15" identifier + identifier) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar21 = local_154 < uVar8;" (assignment_expression "bVar21 = local_154 < uVar8" identifier = (binary_expression "local_154 < uVar8" identifier < identifier)) ;) (expression_statement "local_154 = local_154 - uVar8;" (assignment_expression "local_154 = local_154 - uVar8" identifier = (binary_expression "local_154 - uVar8" identifier - identifier)) ;) (expression_statement "local_150 = (local_150 - iVar6) - (uint)bVar21;" (assignment_expression "local_150 = (local_150 - iVar6) - (uint)bVar21" identifier = (binary_expression "(local_150 - iVar6) - (uint)bVar21" (parenthesized_expression "(local_150 - iVar6)" ( (binary_expression "local_150 - iVar6" identifier - identifier) )) - (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(-local_150 < (int)(uint)(local_154 != 0))" ( (binary_expression "-local_150 < (int)(uint)(local_154 != 0)" (unary_expression "-local_150" - identifier) < (cast_expression "(int)(uint)(local_154 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(local_154 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 != 0)" ( (binary_expression "local_154 != 0" identifier != number_literal) ))))) )) ;)) }) (else_clause "else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }" else (compound_statement "{\n            do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);\n          }" { (do_statement "do {\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            } while (local_150 != 0 || local_154 != 0);" do (compound_statement "{\n              iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }\n              bVar21 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar21;\n              bVar21 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar21;\n            }" { (expression_statement "iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16);" (assignment_expression "iVar6 = bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16)" identifier = (call_expression "bfd_set_section_contents\n                                (stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16)" identifier (argument_list "(stdoutput,sec,pbVar5,local_14c,local_148,uVar4,iVar16)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar11 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar11);\n                pcVar7 = stdoutput->filename;\n                pcVar3 = sec->name;\n                pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);\n              }" { (expression_statement "uVar11 = bfd_get_error();" (assignment_expression "uVar11 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = bfd_errmsg(uVar11);" (assignment_expression "uVar11 = bfd_errmsg(uVar11)" identifier = (call_expression "bfd_errmsg(uVar11)" identifier (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "pcVar7 = stdoutput->filename;" (assignment_expression "pcVar7 = stdoutput->filename" identifier = (field_expression "stdoutput->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar3 = sec->name;" (assignment_expression "pcVar3 = sec->name" identifier = (field_expression "sec->name" identifier -> field_identifier)) ;) (expression_statement "pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5);" (assignment_expression "pcVar12 = (char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5)" identifier = (cast_expression "(char *)dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5)" identifier (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",\n                                             uVar2,5)" ( number_literal , (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) comment (expression_statement "as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11);" (call_expression "as_fatal(pcVar12,uVar2,pcVar3,pcVar7,uVar11)" identifier (argument_list "(pcVar12,uVar2,pcVar3,pcVar7,uVar11)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar21 = CARRY4(local_14c,uVar4);" (assignment_expression "bVar21 = CARRY4(local_14c,uVar4)" identifier = (call_expression "CARRY4(local_14c,uVar4)" identifier (argument_list "(local_14c,uVar4)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar4;" (assignment_expression "local_14c = local_14c + uVar4" identifier = (binary_expression "local_14c + uVar4" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar16 + (uint)bVar21;" (assignment_expression "local_148 = local_148 + iVar16 + (uint)bVar21" identifier = (binary_expression "local_148 + iVar16 + (uint)bVar21" (binary_expression "local_148 + iVar16" identifier + identifier) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar21 = local_154 != 0;" (assignment_expression "bVar21 = local_154 != 0" identifier = (binary_expression "local_154 != 0" identifier != number_literal)) ;) (expression_statement "local_154 = local_154 - 1;" (assignment_expression "local_154 = local_154 - 1" identifier = (binary_expression "local_154 - 1" identifier - number_literal)) ;) (expression_statement "local_150 = local_150 + -1 + (uint)bVar21;" (assignment_expression "local_150 = local_150 + -1 + (uint)bVar21" identifier = (binary_expression "local_150 + -1 + (uint)bVar21" (binary_expression "local_150 + -1" identifier + number_literal) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_150 != 0 || local_154 != 0)" ( (binary_expression "local_150 != 0 || local_154 != 0" (binary_expression "local_150 != 0" identifier != number_literal) || (binary_expression "local_154 != 0" identifier != number_literal)) )) ;) }))) })) (labeled_statement "LAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);" statement_identifier : (expression_statement "local_138 = *(int *)(local_138 + 0x30);" (assignment_expression "local_138 = *(int *)(local_138 + 0x30)" identifier = (pointer_expression "*(int *)(local_138 + 0x30)" * (cast_expression "(int *)(local_138 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x30)" ( (binary_expression "local_138 + 0x30" identifier + number_literal) ))))) ;)) }))) (if_statement "if (local_138 == 0) {\n        return;\n      }" if (parenthesized_expression "(local_138 == 0)" ( (binary_expression "local_138 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) while (parenthesized_expression "((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10))" ( (binary_expression "(*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)" (parenthesized_expression "(*(int *)(local_138 + 0x44) == 1)" ( (binary_expression "*(int *)(local_138 + 0x44) == 1" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" ( (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) ))) )) ;) })) comment (expression_statement "as_abort("../../gas/write.c",0x64f,"write_contents");" (call_expression "as_abort("../../gas/write.c",0x64f,"write_contents")" identifier (argument_list "("../../gas/write.c",0x64f,"write_contents")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""write_contents"" " string_content ") ))) ;) })))
(translation_unit "void FUN_00040f90(undefined4 param_1,undefined4 *param_2)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  byte *pbVar5;\n  int iVar6;\n  void *__ptr;\n  uint uVar7;\n  byte *pbVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  byte bVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar21 = 0;\n  if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {\n    return;\n  }\n  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }\n                    \n  FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");\n}\n\n" (function_definition "void FUN_00040f90(undefined4 param_1,undefined4 *param_2)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  byte *pbVar5;\n  int iVar6;\n  void *__ptr;\n  uint uVar7;\n  byte *pbVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  byte bVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar21 = 0;\n  if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {\n    return;\n  }\n  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }\n                    \n  FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");\n}" primitive_type (function_declarator "FUN_00040f90(undefined4 param_1,undefined4 *param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  byte *pbVar5;\n  int iVar6;\n  void *__ptr;\n  uint uVar7;\n  byte *pbVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  byte bVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar21 = 0;\n  if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {\n    return;\n  }\n  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }\n                    \n  FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "uint local_154;" type_identifier identifier ;) (declaration "int local_150;" primitive_type identifier ;) (declaration "uint local_14c;" type_identifier identifier ;) (declaration "int local_148;" primitive_type identifier ;) (declaration "int local_138;" primitive_type identifier ;) (declaration "byte *local_134;" type_identifier (pointer_declarator "*local_134" * identifier) ;) (declaration "byte local_11c [268];" type_identifier (array_declarator "local_11c [268]" identifier [ number_literal ]) ;) (expression_statement "bVar21 = 0;" (assignment_expression "bVar21 = 0" identifier = number_literal) ;) (if_statement "if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {\n    return;\n  }" if (parenthesized_expression "((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0))" ( (binary_expression "(((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)" (parenthesized_expression "(((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0))" ( (binary_expression "((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)" (parenthesized_expression "((undefined4 *)param_2[0x20] == (undefined4 *)0x0)" ( (binary_expression "(undefined4 *)param_2[0x20] == (undefined4 *)0x0" (cast_expression "(undefined4 *)param_2[0x20]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x20]" identifier [ number_literal ])) == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((*(byte *)((int)param_2 + 0x15) & 1) == 0)" ( (binary_expression "(*(byte *)((int)param_2 + 0x15) & 1) == 0" (parenthesized_expression "(*(byte *)((int)param_2 + 0x15) & 1)" ( (binary_expression "*(byte *)((int)param_2 + 0x15) & 1" (pointer_expression "*(byte *)((int)param_2 + 0x15)" * (cast_expression "(byte *)((int)param_2 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x15)" ( (binary_expression "(int)param_2 + 0x15" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(local_138 = **(int **)param_2[0x20], local_138 == 0)" ( (comma_expression "local_138 = **(int **)param_2[0x20], local_138 == 0" (assignment_expression "local_138 = **(int **)param_2[0x20]" identifier = (pointer_expression "**(int **)param_2[0x20]" * (pointer_expression "*(int **)param_2[0x20]" * (cast_expression "(int **)param_2[0x20]" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_2[0x20]" identifier [ number_literal ]))))) , (binary_expression "local_138 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }" if (parenthesized_expression "((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10))" ( (binary_expression "(*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)" (parenthesized_expression "(*(int *)(local_138 + 0x44) == 1)" ( (binary_expression "*(int *)(local_138 + 0x44) == 1" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" ( (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }" { (expression_statement "local_14c = 0;" (assignment_expression "local_14c = 0" identifier = number_literal) ;) (expression_statement "local_148 = 0;" (assignment_expression "local_148 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));" do (compound_statement "{\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    }" { (expression_statement "uVar4 = *(uint *)(local_138 + 0x10);" (assignment_expression "uVar4 = *(uint *)(local_138 + 0x10)" identifier = (pointer_expression "*(uint *)(local_138 + 0x10)" * (cast_expression "(uint *)(local_138 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x10)" ( (binary_expression "local_138 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }" if (parenthesized_expression "(*(int *)(local_138 + 0x14) != 0 || uVar4 != 0)" ( (binary_expression "*(int *)(local_138 + 0x14) != 0 || uVar4 != 0" (binary_expression "*(int *)(local_138 + 0x14) != 0" (pointer_expression "*(int *)(local_138 + 0x14)" * (cast_expression "(int *)(local_138 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x14)" ( (binary_expression "local_138 + 0x14" identifier + number_literal) )))) != number_literal) || (binary_expression "uVar4 != 0" identifier != number_literal)) )) (compound_statement "{\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }" { (expression_statement "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));" (assignment_expression "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" identifier = (call_expression "bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" identifier (argument_list "(DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" ( identifier , identifier , (binary_expression "local_138 + 0x4c" identifier + number_literal) , identifier , identifier , identifier , (pointer_expression "*(int *)(local_138 + 0x14)" * (cast_expression "(int *)(local_138 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x14)" ( (binary_expression "local_138 + 0x14" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }" { (expression_statement "uVar10 = bfd_get_error();" (assignment_expression "uVar10 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = bfd_errmsg(uVar10);" (assignment_expression "uVar12 = bfd_errmsg(uVar10)" identifier = (call_expression "bfd_errmsg(uVar10)" identifier (argument_list "(uVar10)" ( identifier )))) ;) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" identifier = (pointer_expression "*DAT_00088f24" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar11 = *(undefined4 *)(local_138 + 0x10);" (assignment_expression "uVar11 = *(undefined4 *)(local_138 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(local_138 + 0x10)" * (cast_expression "(undefined4 *)(local_138 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x10)" ( (binary_expression "local_138 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);" (assignment_expression "uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5)" identifier = (call_expression "dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5)" identifier (argument_list "(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5)" ( number_literal , (string_literal ""can\'t write %ld byte to section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t write %ld bytes to section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal )))) ;) (expression_statement "FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);" (call_expression "FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12)" identifier (argument_list "(uVar13,uVar11,uVar3,uVar10,uVar12)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "uVar4 = *(uint *)(local_138 + 0x10);" (assignment_expression "uVar4 = *(uint *)(local_138 + 0x10)" identifier = (pointer_expression "*(uint *)(local_138 + 0x10)" * (cast_expression "(uint *)(local_138 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x10)" ( (binary_expression "local_138 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "bVar20 = CARRY4(local_14c,uVar4);" (assignment_expression "bVar20 = CARRY4(local_14c,uVar4)" identifier = (call_expression "CARRY4(local_14c,uVar4)" identifier (argument_list "(local_14c,uVar4)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar4;" (assignment_expression "local_14c = local_14c + uVar4" identifier = (binary_expression "local_14c + uVar4" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;" (assignment_expression "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20" identifier = (binary_expression "local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20" (binary_expression "local_148 + *(int *)(local_138 + 0x14)" identifier + (pointer_expression "*(int *)(local_138 + 0x14)" * (cast_expression "(int *)(local_138 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x14)" ( (binary_expression "local_138 + 0x14" identifier + number_literal) ))))) + (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "uVar2 = *(uint *)(local_138 + 0x18);" (assignment_expression "uVar2 = *(uint *)(local_138 + 0x18)" identifier = (pointer_expression "*(uint *)(local_138 + 0x18)" * (cast_expression "(uint *)(local_138 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x18)" ( (binary_expression "local_138 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(local_138 + 0x1c);" (assignment_expression "iVar16 = *(int *)(local_138 + 0x1c)" identifier = (pointer_expression "*(int *)(local_138 + 0x1c)" * (cast_expression "(int *)(local_138 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x1c)" ( (binary_expression "local_138 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_150 = *(int *)(local_138 + 0x24);" (assignment_expression "local_150 = *(int *)(local_138 + 0x24)" identifier = (pointer_expression "*(int *)(local_138 + 0x24)" * (cast_expression "(int *)(local_138 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x24)" ( (binary_expression "local_138 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "local_154 = *(uint *)(local_138 + 0x20);" (assignment_expression "local_154 = *(uint *)(local_138 + 0x20)" identifier = (pointer_expression "*(uint *)(local_138 + 0x20)" * (cast_expression "(uint *)(local_138 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x20)" ( (binary_expression "local_138 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" if (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" ( (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }" { (if_statement "if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }" if (parenthesized_expression "((local_150 < 0) || (uVar2 != 1 || iVar16 != 0))" ( (binary_expression "(local_150 < 0) || (uVar2 != 1 || iVar16 != 0)" (parenthesized_expression "(local_150 < 0)" ( (binary_expression "local_150 < 0" identifier < number_literal) )) || (parenthesized_expression "(uVar2 != 1 || iVar16 != 0)" ( (binary_expression "uVar2 != 1 || iVar16 != 0" (binary_expression "uVar2 != 1" identifier != number_literal) || (binary_expression "iVar16 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }" { (expression_statement "FUN_0002edb0("../../gas/write.c",0x667,"write_contents");" (call_expression "FUN_0002edb0("../../gas/write.c",0x667,"write_contents")" identifier (argument_list "("../../gas/write.c",0x667,"write_contents")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""write_contents"" " string_content ") ))) ;) })) (if_statement "if (local_150 == 0 && local_154 == 0) goto LAB_00041120;" if (parenthesized_expression "(local_150 == 0 && local_154 == 0)" ( (binary_expression "local_150 == 0 && local_154 == 0" (binary_expression "local_150 == 0" identifier == number_literal) && (binary_expression "local_154 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00041120;" goto statement_identifier ;)) (expression_statement "__ptr = (void *)xmalloc(local_154);" (assignment_expression "__ptr = (void *)xmalloc(local_154)" identifier = (cast_expression "(void *)xmalloc(local_154)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_154)" identifier (argument_list "(local_154)" ( identifier ))))) ;) (expression_statement "uVar10 = dcgettext(0,"unimplemented .nops directive",5);" (assignment_expression "uVar10 = dcgettext(0,"unimplemented .nops directive",5)" identifier = (call_expression "dcgettext(0,"unimplemented .nops directive",5)" identifier (argument_list "(0,"unimplemented .nops directive",5)" ( number_literal , (string_literal ""unimplemented .nops directive"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ec90(uVar10);" (call_expression "FUN_0002ec90(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);" (assignment_expression "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150)" identifier = (call_expression "bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150)" identifier (argument_list "(DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }" { (expression_statement "uVar10 = bfd_get_error();" (assignment_expression "uVar10 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = bfd_errmsg(uVar10);" (assignment_expression "uVar11 = bfd_errmsg(uVar10)" identifier = (call_expression "bfd_errmsg(uVar10)" identifier (argument_list "(uVar10)" ( identifier )))) ;) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" identifier = (pointer_expression "*DAT_00088f24" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);" (assignment_expression "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5)" identifier = (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5)" identifier (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5)" ( number_literal , (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal )))) ;) (expression_statement "FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);" (call_expression "FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11)" identifier (argument_list "(uVar12,local_154,uVar3,uVar10,uVar11)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar20 = CARRY4(local_14c,local_154);" (assignment_expression "bVar20 = CARRY4(local_14c,local_154)" identifier = (call_expression "CARRY4(local_14c,local_154)" identifier (argument_list "(local_14c,local_154)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + local_154;" (assignment_expression "local_14c = local_14c + local_154" identifier = (binary_expression "local_14c + local_154" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + local_150 + (uint)bVar20;" (assignment_expression "local_148 = local_148 + local_150 + (uint)bVar20" identifier = (binary_expression "local_148 + local_150 + (uint)bVar20" (binary_expression "local_148 + local_150" identifier + identifier) + (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "local_138 = *(int *)(local_138 + 0x30);" (assignment_expression "local_138 = *(int *)(local_138 + 0x30)" identifier = (pointer_expression "*(int *)(local_138 + 0x30)" * (cast_expression "(int *)(local_138 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x30)" ( (binary_expression "local_138 + 0x30" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" else (compound_statement "{\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" { (if_statement "if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }" if (parenthesized_expression "(local_150 < 0)" ( (binary_expression "local_150 < 0" identifier < number_literal) )) (compound_statement "{\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }" { (expression_statement "FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");" (call_expression "FUN_0002edb0("../../gas/write.c",0x67d,"write_contents")" identifier (argument_list "("../../gas/write.c",0x67d,"write_contents")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""write_contents"" " string_content ") ))) ;) })) (if_statement "if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" if (parenthesized_expression "((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0))" ( (binary_expression "(uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)" (parenthesized_expression "(uVar2 != 0 || iVar16 != 0)" ( (binary_expression "uVar2 != 0 || iVar16 != 0" (binary_expression "uVar2 != 0" identifier != number_literal) || (binary_expression "iVar16 != 0" identifier != number_literal)) )) && (parenthesized_expression "(local_154 != 0 || local_150 != 0)" ( (binary_expression "local_154 != 0 || local_150 != 0" (binary_expression "local_154 != 0" identifier != number_literal) || (binary_expression "local_150 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" { (expression_statement "pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);" (assignment_expression "pbVar5 = (byte *)(uVar4 + local_138 + 0x4c)" identifier = (cast_expression "(byte *)(uVar4 + local_138 + 0x4c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar4 + local_138 + 0x4c)" ( (binary_expression "uVar4 + local_138 + 0x4c" (binary_expression "uVar4 + local_138" identifier + identifier) + number_literal) )))) ;) (expression_statement "uVar4 = uVar2;" (assignment_expression "uVar4 = uVar2" identifier = identifier) ;) (if_statement "if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }" if (parenthesized_expression "(iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16)" ( (binary_expression "iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16" (binary_expression "iVar16 == 0" identifier == number_literal) && (binary_expression "(uint)(0x100 < uVar2) <= (uint)-iVar16" (call_expression "(uint)(0x100 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x100 < uVar2)" ( (binary_expression "0x100 < uVar2" number_literal < identifier) ))) <= (binary_expression "(uint)-iVar16" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }" { (if_statement "if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }" if (parenthesized_expression "(iVar16 == 0 && uVar2 == 1)" ( (binary_expression "iVar16 == 0 && uVar2 == 1" (binary_expression "iVar16 == 0" identifier == number_literal) && (binary_expression "uVar2 == 1" identifier == number_literal)) )) (compound_statement "{\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }" { (expression_statement "uVar7 = 0x100;" (assignment_expression "uVar7 = 0x100" identifier = number_literal) ;) (expression_statement "bVar1 = *pbVar5;" (assignment_expression "bVar1 = *pbVar5" identifier = (pointer_expression "*pbVar5" * identifier)) ;) (expression_statement "pbVar5 = local_11c;" (assignment_expression "pbVar5 = local_11c" identifier = identifier) ;) (for_statement "for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }" for ( (assignment_expression "iVar6 = 0x40" identifier = number_literal) ; (binary_expression "iVar6 != 0" identifier != number_literal) ; (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ) (compound_statement "{\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }" { (expression_statement "*(uint *)pbVar5 = (uint)bVar1 * 0x1010101;" (assignment_expression "*(uint *)pbVar5 = (uint)bVar1 * 0x1010101" (pointer_expression "*(uint *)pbVar5" * (cast_expression "(uint *)pbVar5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uint)bVar1 * 0x1010101" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) (expression_statement "pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;" (assignment_expression "pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4" identifier = (binary_expression "pbVar5 + ((uint)bVar21 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar21 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar21 * -2 + 1)" ( (binary_expression "(uint)bVar21 * -2 + 1" (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) })) }) (else_clause "else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }" else (compound_statement "{\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }" { (expression_statement "uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);" (assignment_expression "uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16)" identifier = (call_expression "FUN_00057d50(0x100,0,uVar2,iVar16)" identifier (argument_list "(0x100,0,uVar2,iVar16)" ( number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "pbVar8 = local_11c;" (assignment_expression "pbVar8 = local_11c" identifier = identifier) ;) (expression_statement "uVar17 = uVar7;" (assignment_expression "uVar17 = uVar7" identifier = identifier) ;) (do_statement "do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);" do (compound_statement "{\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              }" { (while_statement "while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }" while (parenthesized_expression "(uVar2 < 4)" ( (binary_expression "uVar2 < 4" identifier < number_literal) )) (compound_statement "{\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }" { (if_statement "if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }" if (parenthesized_expression "((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0))" ( (binary_expression "(uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(*pbVar8 = *pbVar5, (uVar2 & 2) != 0)" ( (comma_expression "*pbVar8 = *pbVar5, (uVar2 & 2) != 0" (assignment_expression "*pbVar8 = *pbVar5" (pointer_expression "*pbVar8" * identifier) = (pointer_expression "*pbVar5" * identifier)) , (binary_expression "(uVar2 & 2) != 0" (parenthesized_expression "(uVar2 & 2)" ( (binary_expression "uVar2 & 2" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }" { (expression_statement "*(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));" (assignment_expression "*(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2))" (pointer_expression "*(undefined2 *)(pbVar8 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pbVar8 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + (uVar2 - 2))" ( (binary_expression "pbVar8 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(pbVar5 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pbVar5 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + (uVar2 - 2))" ( (binary_expression "pbVar5 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) ))))) ;) })) (expression_statement "pbVar8 = pbVar8 + uVar2;" (assignment_expression "pbVar8 = pbVar8 + uVar2" identifier = (binary_expression "pbVar8 + uVar2" identifier + identifier)) ;) (expression_statement "uVar17 = uVar17 - 1;" (assignment_expression "uVar17 = uVar17 - 1" identifier = (binary_expression "uVar17 - 1" identifier - number_literal)) ;) (if_statement "if (uVar17 == 0) goto LAB_00041359;" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00041359;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;" (assignment_expression "*(undefined4 *)pbVar8 = *(undefined4 *)pbVar5" (pointer_expression "*(undefined4 *)pbVar8" * (cast_expression "(undefined4 *)pbVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)pbVar5" * (cast_expression "(undefined4 *)pbVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));" (assignment_expression "*(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4))" (pointer_expression "*(undefined4 *)(pbVar8 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pbVar8 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + (uVar2 - 4))" ( (binary_expression "pbVar8 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(pbVar5 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pbVar5 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + (uVar2 - 4))" ( (binary_expression "pbVar5 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) ))))) ;) (expression_statement "iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);" (assignment_expression "iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc)" identifier = (binary_expression "(int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc)" (cast_expression "(int)pbVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(pbVar8 + 4) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pbVar8 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar8 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar8 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar8 + 4)" ( (binary_expression "pbVar8 + 4" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "pbVar18 = pbVar5 + -iVar6;" (assignment_expression "pbVar18 = pbVar5 + -iVar6" identifier = (binary_expression "pbVar5 + -iVar6" identifier + (unary_expression "-iVar6" - identifier))) ;) (expression_statement "puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);" (assignment_expression "puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pbVar8 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar8 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar8 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar8 + 4)" ( (binary_expression "pbVar8 + 4" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }" for ( (assignment_expression "uVar14 = iVar6 + uVar2 >> 2" identifier = (binary_expression "iVar6 + uVar2 >> 2" (binary_expression "iVar6 + uVar2" identifier + identifier) >> number_literal)) ; (binary_expression "uVar14 != 0" identifier != number_literal) ; (assignment_expression "uVar14 = uVar14 - 1" identifier = (binary_expression "uVar14 - 1" identifier - number_literal)) ) (compound_statement "{\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }" { (expression_statement "*puVar19 = *(undefined4 *)pbVar18;" (assignment_expression "*puVar19 = *(undefined4 *)pbVar18" (pointer_expression "*puVar19" * identifier) = (pointer_expression "*(undefined4 *)pbVar18" * (cast_expression "(undefined4 *)pbVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;" (assignment_expression "pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4" identifier = (binary_expression "pbVar18 + ((uint)bVar21 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar21 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar21 * -2 + 1)" ( (binary_expression "(uint)bVar21 * -2 + 1" (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) (expression_statement "puVar19 = puVar19 + (uint)bVar21 * -2 + 1;" (assignment_expression "puVar19 = puVar19 + (uint)bVar21 * -2 + 1" identifier = (binary_expression "puVar19 + (uint)bVar21 * -2 + 1" (binary_expression "puVar19 + (uint)bVar21 * -2" identifier + (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "uVar17 = uVar17 - 1;" (assignment_expression "uVar17 = uVar17 - 1" identifier = (binary_expression "uVar17 - 1" identifier - number_literal)) ;) (expression_statement "pbVar8 = pbVar8 + uVar2;" (assignment_expression "pbVar8 = pbVar8 + uVar2" identifier = (binary_expression "pbVar8 + uVar2" identifier + identifier)) ;) }) while (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) ;) }))) (labeled_statement "LAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" statement_identifier : (do_statement "do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" do (compound_statement "{\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            }" { (expression_statement "local_134 = local_11c;" (assignment_expression "local_134 = local_11c" identifier = identifier) ;) (expression_statement "iVar6 = (int)uVar7 >> 0x1f;" (assignment_expression "iVar6 = (int)uVar7 >> 0x1f" identifier = (binary_expression "(int)uVar7 >> 0x1f" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }" if (parenthesized_expression "((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0)" ( (binary_expression "(SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0" (parenthesized_expression "(SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7)))" ( (binary_expression "SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))" (call_expression "SBORROW4(local_150,iVar6)" identifier (argument_list "(local_150,iVar6)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))" identifier (argument_list "(local_150 - iVar6,(uint)(local_154 < uVar7))" ( (binary_expression "local_150 - iVar6" identifier - identifier) , (call_expression "(uint)(local_154 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar7)" ( (binary_expression "local_154 < uVar7" identifier < identifier) ))) )))) )) != (binary_expression "(int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0" (cast_expression "(int)((local_150 - iVar6) - (uint)(local_154 < uVar7))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_150 - iVar6) - (uint)(local_154 < uVar7))" ( (binary_expression "(local_150 - iVar6) - (uint)(local_154 < uVar7)" (parenthesized_expression "(local_150 - iVar6)" ( (binary_expression "local_150 - iVar6" identifier - identifier) )) - (call_expression "(uint)(local_154 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar7)" ( (binary_expression "local_154 < uVar7" identifier < identifier) )))) ))) < number_literal)) )) (compound_statement "{\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }" { (expression_statement "uVar7 = local_154;" (assignment_expression "uVar7 = local_154" identifier = identifier) ;) (expression_statement "iVar6 = local_150;" (assignment_expression "iVar6 = local_150" identifier = identifier) ;) })) (expression_statement "uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);" (assignment_expression "uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7)" identifier = (call_expression "(uint)((ulonglong)uVar4 * (ulonglong)uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar4 * (ulonglong)uVar7)" ( (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar7" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;" (assignment_expression "iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7" identifier = (binary_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7" (binary_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6" (cast_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20)" ( (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20" (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar7" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) >> number_literal) ))) + (binary_expression "uVar4 * iVar6" identifier * identifier)) + (binary_expression "iVar16 * uVar7" identifier * identifier))) ;) (expression_statement "iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);" (assignment_expression "iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15)" identifier = (call_expression "bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15)" identifier (argument_list "(DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }" { (expression_statement "uVar10 = bfd_get_error(uVar7,iVar6);" (assignment_expression "uVar10 = bfd_get_error(uVar7,iVar6)" identifier = (call_expression "bfd_get_error(uVar7,iVar6)" identifier (argument_list "(uVar7,iVar6)" ( identifier , identifier )))) ;) (expression_statement "uVar11 = bfd_errmsg(uVar10);" (assignment_expression "uVar11 = bfd_errmsg(uVar10)" identifier = (call_expression "bfd_errmsg(uVar10)" identifier (argument_list "(uVar10)" ( identifier )))) ;) (expression_statement "iVar16 = uVar2 * uVar7;" (assignment_expression "iVar16 = uVar2 * uVar7" identifier = (binary_expression "uVar2 * uVar7" identifier * identifier)) ;) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" identifier = (pointer_expression "*DAT_00088f24" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);" (assignment_expression "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5)" identifier = (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5)" identifier (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5)" ( number_literal , (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal )))) ;) (expression_statement "FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);" (call_expression "FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11)" identifier (argument_list "(uVar12,iVar16,uVar3,uVar10,uVar11)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar20 = CARRY4(local_14c,uVar17);" (assignment_expression "bVar20 = CARRY4(local_14c,uVar17)" identifier = (call_expression "CARRY4(local_14c,uVar17)" identifier (argument_list "(local_14c,uVar17)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar17;" (assignment_expression "local_14c = local_14c + uVar17" identifier = (binary_expression "local_14c + uVar17" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar15 + (uint)bVar20;" (assignment_expression "local_148 = local_148 + iVar15 + (uint)bVar20" identifier = (binary_expression "local_148 + iVar15 + (uint)bVar20" (binary_expression "local_148 + iVar15" identifier + identifier) + (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar20 = local_154 < uVar7;" (assignment_expression "bVar20 = local_154 < uVar7" identifier = (binary_expression "local_154 < uVar7" identifier < identifier)) ;) (expression_statement "local_154 = local_154 - uVar7;" (assignment_expression "local_154 = local_154 - uVar7" identifier = (binary_expression "local_154 - uVar7" identifier - identifier)) ;) (expression_statement "local_150 = (local_150 - iVar6) - (uint)bVar20;" (assignment_expression "local_150 = (local_150 - iVar6) - (uint)bVar20" identifier = (binary_expression "(local_150 - iVar6) - (uint)bVar20" (parenthesized_expression "(local_150 - iVar6)" ( (binary_expression "local_150 - iVar6" identifier - identifier) )) - (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(-local_150 < (int)(uint)(local_154 != 0))" ( (binary_expression "-local_150 < (int)(uint)(local_154 != 0)" (unary_expression "-local_150" - identifier) < (cast_expression "(int)(uint)(local_154 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(local_154 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 != 0)" ( (binary_expression "local_154 != 0" identifier != number_literal) ))))) )) ;)) }) (else_clause "else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }" else (compound_statement "{\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }" { (do_statement "do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);" do (compound_statement "{\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            }" { (expression_statement "iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);" (assignment_expression "iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16)" identifier = (call_expression "bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16)" identifier (argument_list "(DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }" { (expression_statement "uVar10 = bfd_get_error();" (assignment_expression "uVar10 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = bfd_errmsg(uVar10);" (assignment_expression "uVar11 = bfd_errmsg(uVar10)" identifier = (call_expression "bfd_errmsg(uVar10)" identifier (argument_list "(uVar10)" ( identifier )))) ;) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" identifier = (pointer_expression "*DAT_00088f24" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);" (assignment_expression "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5)" identifier = (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5)" identifier (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5)" ( number_literal , (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal )))) ;) (expression_statement "FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);" (call_expression "FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11)" identifier (argument_list "(uVar12,uVar2,uVar3,uVar10,uVar11)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar20 = CARRY4(local_14c,uVar4);" (assignment_expression "bVar20 = CARRY4(local_14c,uVar4)" identifier = (call_expression "CARRY4(local_14c,uVar4)" identifier (argument_list "(local_14c,uVar4)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar4;" (assignment_expression "local_14c = local_14c + uVar4" identifier = (binary_expression "local_14c + uVar4" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar16 + (uint)bVar20;" (assignment_expression "local_148 = local_148 + iVar16 + (uint)bVar20" identifier = (binary_expression "local_148 + iVar16 + (uint)bVar20" (binary_expression "local_148 + iVar16" identifier + identifier) + (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar20 = local_154 != 0;" (assignment_expression "bVar20 = local_154 != 0" identifier = (binary_expression "local_154 != 0" identifier != number_literal)) ;) (expression_statement "local_154 = local_154 - 1;" (assignment_expression "local_154 = local_154 - 1" identifier = (binary_expression "local_154 - 1" identifier - number_literal)) ;) (expression_statement "local_150 = local_150 + -1 + (uint)bVar20;" (assignment_expression "local_150 = local_150 + -1 + (uint)bVar20" identifier = (binary_expression "local_150 + -1 + (uint)bVar20" (binary_expression "local_150 + -1" identifier + number_literal) + (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_150 != 0 || local_154 != 0)" ( (binary_expression "local_150 != 0 || local_154 != 0" (binary_expression "local_150 != 0" identifier != number_literal) || (binary_expression "local_154 != 0" identifier != number_literal)) )) ;) }))) })) (labeled_statement "LAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);" statement_identifier : (expression_statement "local_138 = *(int *)(local_138 + 0x30);" (assignment_expression "local_138 = *(int *)(local_138 + 0x30)" identifier = (pointer_expression "*(int *)(local_138 + 0x30)" * (cast_expression "(int *)(local_138 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x30)" ( (binary_expression "local_138 + 0x30" identifier + number_literal) ))))) ;)) }))) (if_statement "if (local_138 == 0) {\n        return;\n      }" if (parenthesized_expression "(local_138 == 0)" ( (binary_expression "local_138 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) while (parenthesized_expression "((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10))" ( (binary_expression "(*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)" (parenthesized_expression "(*(int *)(local_138 + 0x44) == 1)" ( (binary_expression "*(int *)(local_138 + 0x44) == 1" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" ( (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" * (cast_expression "(int *)(local_138 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_138 + 0x44)" ( (binary_expression "local_138 + 0x44" identifier + number_literal) )))) == number_literal) ))) )) ;) })) (expression_statement "FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");" (call_expression "FUN_0002edb0("../../gas/write.c",0x64f,"write_contents")" identifier (argument_list "("../../gas/write.c",0x64f,"write_contents")" ( (string_literal ""../../gas/write.c"" " string_content ") , number_literal , (string_literal ""write_contents"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (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 (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) || (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , 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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) , (binary_expression (parenthesized_expression ( (binary_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 + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )))) ;) (for_statement for ( (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) >> LIT)) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT - LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (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 IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) }))) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) != (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))) < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) ))) + (binary_expression IDENT * IDENT)) + (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (unary_expression - IDENT) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))))) )) ;)) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , 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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) ;) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_00040f90(undefined4 param_1,undefined4 *param_2)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  byte *pbVar5;\n  int iVar6;\n  void *__ptr;\n  uint uVar7;\n  byte *pbVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  byte bVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar21 = 0;\n  if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {\n    return;\n  }\n  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }\n                    \n  FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");\n}" (primitive_type "void") (function_declarator "FUN_00040f90(undefined4 param_1,undefined4 *param_2)" (identifier "FUN_00040f90") (parameter_list "(undefined4 param_1,undefined4 *param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  byte *pbVar5;\n  int iVar6;\n  void *__ptr;\n  uint uVar7;\n  byte *pbVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  byte bVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar21 = 0;\n  if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {\n    return;\n  }\n  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }\n                    \n  FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "byte *pbVar5;" (type_identifier "byte") (pointer_declarator "*pbVar5" (* "*") (identifier "pbVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "void *__ptr;" (primitive_type "void") (pointer_declarator "*__ptr" (* "*") (identifier "__ptr")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "undefined4 *puVar19;" (type_identifier "undefined4") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "bool bVar20;" (primitive_type "bool") (identifier "bVar20") (; ";")) (declaration "byte bVar21;" (type_identifier "byte") (identifier "bVar21") (; ";")) (declaration "uint local_154;" (type_identifier "uint") (identifier "local_154") (; ";")) (declaration "int local_150;" (primitive_type "int") (identifier "local_150") (; ";")) (declaration "uint local_14c;" (type_identifier "uint") (identifier "local_14c") (; ";")) (declaration "int local_148;" (primitive_type "int") (identifier "local_148") (; ";")) (declaration "int local_138;" (primitive_type "int") (identifier "local_138") (; ";")) (declaration "byte *local_134;" (type_identifier "byte") (pointer_declarator "*local_134" (* "*") (identifier "local_134")) (; ";")) (declaration "byte local_11c [268];" (type_identifier "byte") (array_declarator "local_11c [268]" (identifier "local_11c") ([ "[") (number_literal "268") (] "]")) (; ";")) (expression_statement "bVar21 = 0;" (assignment_expression "bVar21 = 0" (identifier "bVar21") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {\n    return;\n  }" (if "if") (parenthesized_expression "((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0))" (( "(") (binary_expression "(((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||\n     (local_138 = **(int **)param_2[0x20], local_138 == 0)" (parenthesized_expression "(((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0))" (( "(") (binary_expression "((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||\n      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)" (parenthesized_expression "((undefined4 *)param_2[0x20] == (undefined4 *)0x0)" (( "(") (binary_expression "(undefined4 *)param_2[0x20] == (undefined4 *)0x0" (cast_expression "(undefined4 *)param_2[0x20]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0x20]" (identifier "param_2") ([ "[") (number_literal "0x20") (] "]"))) (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((int)param_2 + 0x15) & 1) == 0)" (( "(") (binary_expression "(*(byte *)((int)param_2 + 0x15) & 1) == 0" (parenthesized_expression "(*(byte *)((int)param_2 + 0x15) & 1)" (( "(") (binary_expression "*(byte *)((int)param_2 + 0x15) & 1" (pointer_expression "*(byte *)((int)param_2 + 0x15)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x15)" (( "(") (binary_expression "(int)param_2 + 0x15" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(local_138 = **(int **)param_2[0x20], local_138 == 0)" (( "(") (comma_expression "local_138 = **(int **)param_2[0x20], local_138 == 0" (assignment_expression "local_138 = **(int **)param_2[0x20]" (identifier "local_138") (= "=") (pointer_expression "**(int **)param_2[0x20]" (* "*") (pointer_expression "*(int **)param_2[0x20]" (* "*") (cast_expression "(int **)param_2[0x20]" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_2[0x20]" (identifier "param_2") ([ "[") (number_literal "0x20") (] "]")))))) (, ",") (binary_expression "local_138 == 0" (identifier "local_138") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }" (if "if") (parenthesized_expression "((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10))" (( "(") (binary_expression "(*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)" (parenthesized_expression "(*(int *)(local_138 + 0x44) == 1)" (( "(") (binary_expression "*(int *)(local_138 + 0x44) == 1" (pointer_expression "*(int *)(local_138 + 0x44)" (* "*") (cast_expression "(int *)(local_138 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x44)" (( "(") (binary_expression "local_138 + 0x44" (identifier "local_138") (+ "+") (number_literal "0x44")) () ")")))) (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" (( "(") (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" (* "*") (cast_expression "(int *)(local_138 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x44)" (( "(") (binary_expression "local_138 + 0x44" (identifier "local_138") (+ "+") (number_literal "0x44")) () ")")))) (== "==") (number_literal "10")) () ")"))) () ")")) (compound_statement "{\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));\n  }" ({ "{") (expression_statement "local_14c = 0;" (assignment_expression "local_14c = 0" (identifier "local_14c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_148 = 0;" (assignment_expression "local_148 = 0" (identifier "local_148") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));" (do "do") (compound_statement "{\n      uVar4 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar16 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    }" ({ "{") (expression_statement "uVar4 = *(uint *)(local_138 + 0x10);" (assignment_expression "uVar4 = *(uint *)(local_138 + 0x10)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(local_138 + 0x10)" (* "*") (cast_expression "(uint *)(local_138 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x10)" (( "(") (binary_expression "local_138 + 0x10" (identifier "local_138") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }" (if "if") (parenthesized_expression "(*(int *)(local_138 + 0x14) != 0 || uVar4 != 0)" (( "(") (binary_expression "*(int *)(local_138 + 0x14) != 0 || uVar4 != 0" (binary_expression "*(int *)(local_138 + 0x14) != 0" (pointer_expression "*(int *)(local_138 + 0x14)" (* "*") (cast_expression "(int *)(local_138 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x14)" (( "(") (binary_expression "local_138 + 0x14" (identifier "local_138") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }\n        uVar4 = *(uint *)(local_138 + 0x10);\n        bVar20 = CARRY4(local_14c,uVar4);\n        local_14c = local_14c + uVar4;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;\n      }" ({ "{") (expression_statement "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14));" (assignment_expression "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" (identifier "iVar16") (= "=") (call_expression "bfd_set_section_contents\n                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" (identifier "bfd_set_section_contents") (argument_list "(DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,\n                            *(int *)(local_138 + 0x14))" (( "(") (identifier "DAT_00088f24") (, ",") (identifier "param_2") (, ",") (binary_expression "local_138 + 0x4c" (identifier "local_138") (+ "+") (number_literal "0x4c")) (, ",") (identifier "local_14c") (, ",") (identifier "local_148") (, ",") (identifier "uVar4") (, ",") (pointer_expression "*(int *)(local_138 + 0x14)" (* "*") (cast_expression "(int *)(local_138 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x14)" (( "(") (binary_expression "local_138 + 0x14" (identifier "local_138") (+ "+") (number_literal "0x14")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar10 = bfd_get_error();\n          uVar12 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar11 = *(undefined4 *)(local_138 + 0x10);\n          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);\n                    \n          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);\n        }" ({ "{") (expression_statement "uVar10 = bfd_get_error();" (assignment_expression "uVar10 = bfd_get_error()" (identifier "uVar10") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar12 = bfd_errmsg(uVar10);" (assignment_expression "uVar12 = bfd_errmsg(uVar10)" (identifier "uVar12") (= "=") (call_expression "bfd_errmsg(uVar10)" (identifier "bfd_errmsg") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" (identifier "uVar10") (= "=") (pointer_expression "*DAT_00088f24" (* "*") (identifier "DAT_00088f24"))) (; ";")) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" (identifier "uVar3") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar11 = *(undefined4 *)(local_138 + 0x10);" (assignment_expression "uVar11 = *(undefined4 *)(local_138 + 0x10)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)(local_138 + 0x10)" (* "*") (cast_expression "(undefined4 *)(local_138 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x10)" (( "(") (binary_expression "local_138 + 0x10" (identifier "local_138") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);" (assignment_expression "uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5)" (identifier "uVar13") (= "=") (call_expression "dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5)" (identifier "dcngettext") (argument_list "(0,"can\'t write %ld byte to section %s of %s: \'%s\'",\n                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5)" (( "(") (number_literal "0") (, ",") (string_literal ""can\'t write %ld byte to section %s of %s: \'%s\'"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t write %ld byte to section %s of %s: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """)) (, ",") (string_literal ""can\'t write %ld bytes to section %s of %s: \'%s\'"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t write %ld bytes to section %s of %s: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """)) (, ",") (identifier "uVar11") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);" (call_expression "FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12)" (identifier "FUN_0002ed30") (argument_list "(uVar13,uVar11,uVar3,uVar10,uVar12)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar11") (, ",") (identifier "uVar3") (, ",") (identifier "uVar10") (, ",") (identifier "uVar12") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar4 = *(uint *)(local_138 + 0x10);" (assignment_expression "uVar4 = *(uint *)(local_138 + 0x10)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(local_138 + 0x10)" (* "*") (cast_expression "(uint *)(local_138 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x10)" (( "(") (binary_expression "local_138 + 0x10" (identifier "local_138") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "bVar20 = CARRY4(local_14c,uVar4);" (assignment_expression "bVar20 = CARRY4(local_14c,uVar4)" (identifier "bVar20") (= "=") (call_expression "CARRY4(local_14c,uVar4)" (identifier "CARRY4") (argument_list "(local_14c,uVar4)" (( "(") (identifier "local_14c") (, ",") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "local_14c = local_14c + uVar4;" (assignment_expression "local_14c = local_14c + uVar4" (identifier "local_14c") (= "=") (binary_expression "local_14c + uVar4" (identifier "local_14c") (+ "+") (identifier "uVar4"))) (; ";")) (expression_statement "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;" (assignment_expression "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20" (identifier "local_148") (= "=") (binary_expression "local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20" (binary_expression "local_148 + *(int *)(local_138 + 0x14)" (identifier "local_148") (+ "+") (pointer_expression "*(int *)(local_138 + 0x14)" (* "*") (cast_expression "(int *)(local_138 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x14)" (( "(") (binary_expression "local_138 + 0x14" (identifier "local_138") (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")))) (; ";")) (} "}"))) (expression_statement "uVar2 = *(uint *)(local_138 + 0x18);" (assignment_expression "uVar2 = *(uint *)(local_138 + 0x18)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(local_138 + 0x18)" (* "*") (cast_expression "(uint *)(local_138 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x18)" (( "(") (binary_expression "local_138 + 0x18" (identifier "local_138") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar16 = *(int *)(local_138 + 0x1c);" (assignment_expression "iVar16 = *(int *)(local_138 + 0x1c)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(local_138 + 0x1c)" (* "*") (cast_expression "(int *)(local_138 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x1c)" (( "(") (binary_expression "local_138 + 0x1c" (identifier "local_138") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "local_150 = *(int *)(local_138 + 0x24);" (assignment_expression "local_150 = *(int *)(local_138 + 0x24)" (identifier "local_150") (= "=") (pointer_expression "*(int *)(local_138 + 0x24)" (* "*") (cast_expression "(int *)(local_138 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x24)" (( "(") (binary_expression "local_138 + 0x24" (identifier "local_138") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "local_154 = *(uint *)(local_138 + 0x20);" (assignment_expression "local_154 = *(uint *)(local_138 + 0x20)" (identifier "local_154") (= "=") (pointer_expression "*(uint *)(local_138 + 0x20)" (* "*") (cast_expression "(uint *)(local_138 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x20)" (( "(") (binary_expression "local_138 + 0x20" (identifier "local_138") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" (if "if") (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" (( "(") (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" (* "*") (cast_expression "(int *)(local_138 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x44)" (( "(") (binary_expression "local_138 + 0x44" (identifier "local_138") (+ "+") (number_literal "0x44")) () ")")))) (== "==") (number_literal "10")) () ")")) (compound_statement "{\n        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;\n        __ptr = (void *)xmalloc(local_154);\n        uVar10 = dcgettext(0,"unimplemented .nops directive",5);\n        FUN_0002ec90(uVar10);\n        iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }\n        bVar20 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar20;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }" ({ "{") (if_statement "if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }" (if "if") (parenthesized_expression "((local_150 < 0) || (uVar2 != 1 || iVar16 != 0))" (( "(") (binary_expression "(local_150 < 0) || (uVar2 != 1 || iVar16 != 0)" (parenthesized_expression "(local_150 < 0)" (( "(") (binary_expression "local_150 < 0" (identifier "local_150") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar2 != 1 || iVar16 != 0)" (( "(") (binary_expression "uVar2 != 1 || iVar16 != 0" (binary_expression "uVar2 != 1" (identifier "uVar2") (!= "!=") (number_literal "1")) (|| "||") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                    \n          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");\n        }" ({ "{") (expression_statement "FUN_0002edb0("../../gas/write.c",0x667,"write_contents");" (call_expression "FUN_0002edb0("../../gas/write.c",0x667,"write_contents")" (identifier "FUN_0002edb0") (argument_list "("../../gas/write.c",0x667,"write_contents")" (( "(") (string_literal ""../../gas/write.c"" (" """) (string_content "../../gas/write.c") (" """)) (, ",") (number_literal "0x667") (, ",") (string_literal ""write_contents"" (" """) (string_content "write_contents") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (local_150 == 0 && local_154 == 0) goto LAB_00041120;" (if "if") (parenthesized_expression "(local_150 == 0 && local_154 == 0)" (( "(") (binary_expression "local_150 == 0 && local_154 == 0" (binary_expression "local_150 == 0" (identifier "local_150") (== "==") (number_literal "0")) (&& "&&") (binary_expression "local_154 == 0" (identifier "local_154") (== "==") (number_literal "0"))) () ")")) (goto_statement "goto LAB_00041120;" (goto "goto") (statement_identifier "LAB_00041120") (; ";"))) (expression_statement "__ptr = (void *)xmalloc(local_154);" (assignment_expression "__ptr = (void *)xmalloc(local_154)" (identifier "__ptr") (= "=") (cast_expression "(void *)xmalloc(local_154)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(local_154)" (identifier "xmalloc") (argument_list "(local_154)" (( "(") (identifier "local_154") () ")"))))) (; ";")) (expression_statement "uVar10 = dcgettext(0,"unimplemented .nops directive",5);" (assignment_expression "uVar10 = dcgettext(0,"unimplemented .nops directive",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"unimplemented .nops directive",5)" (identifier "dcgettext") (argument_list "(0,"unimplemented .nops directive",5)" (( "(") (number_literal "0") (, ",") (string_literal ""unimplemented .nops directive"" (" """) (string_content "unimplemented .nops directive") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002ec90(uVar10);" (call_expression "FUN_0002ec90(uVar10)" (identifier "FUN_0002ec90") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);" (assignment_expression "iVar16 = bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150)" (identifier "iVar16") (= "=") (call_expression "bfd_set_section_contents\n                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150)" (identifier "bfd_set_section_contents") (argument_list "(DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150)" (( "(") (identifier "DAT_00088f24") (, ",") (identifier "param_2") (, ",") (identifier "__ptr") (, ",") (identifier "local_14c") (, ",") (identifier "local_148") (, ",") (identifier "local_154") (, ",") (identifier "local_150") () ")")))) (; ";")) (if_statement "if (iVar16 == 0) {\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar10 = bfd_get_error();\n          uVar11 = bfd_errmsg(uVar10);\n          uVar10 = *DAT_00088f24;\n          uVar3 = *param_2;\n          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);\n                    \n          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);\n        }" ({ "{") (expression_statement "uVar10 = bfd_get_error();" (assignment_expression "uVar10 = bfd_get_error()" (identifier "uVar10") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar11 = bfd_errmsg(uVar10);" (assignment_expression "uVar11 = bfd_errmsg(uVar10)" (identifier "uVar11") (= "=") (call_expression "bfd_errmsg(uVar10)" (identifier "bfd_errmsg") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" (identifier "uVar10") (= "=") (pointer_expression "*DAT_00088f24" (* "*") (identifier "DAT_00088f24"))) (; ";")) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" (identifier "uVar3") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);" (assignment_expression "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5)" (identifier "uVar12") (= "=") (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5)" (identifier "dcngettext") (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5)" (( "(") (number_literal "0") (, ",") (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t fill %ld byte in section %s of %s: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """)) (, ",") (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t fill %ld bytes in section %s of %s: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """)) (, ",") (identifier "local_154") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);" (call_expression "FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11)" (identifier "FUN_0002ed30") (argument_list "(uVar12,local_154,uVar3,uVar10,uVar11)" (( "(") (identifier "uVar12") (, ",") (identifier "local_154") (, ",") (identifier "uVar3") (, ",") (identifier "uVar10") (, ",") (identifier "uVar11") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar20 = CARRY4(local_14c,local_154);" (assignment_expression "bVar20 = CARRY4(local_14c,local_154)" (identifier "bVar20") (= "=") (call_expression "CARRY4(local_14c,local_154)" (identifier "CARRY4") (argument_list "(local_14c,local_154)" (( "(") (identifier "local_14c") (, ",") (identifier "local_154") () ")")))) (; ";")) (expression_statement "local_14c = local_14c + local_154;" (assignment_expression "local_14c = local_14c + local_154" (identifier "local_14c") (= "=") (binary_expression "local_14c + local_154" (identifier "local_14c") (+ "+") (identifier "local_154"))) (; ";")) (expression_statement "local_148 = local_148 + local_150 + (uint)bVar20;" (assignment_expression "local_148 = local_148 + local_150 + (uint)bVar20" (identifier "local_148") (= "=") (binary_expression "local_148 + local_150 + (uint)bVar20" (binary_expression "local_148 + local_150" (identifier "local_148") (+ "+") (identifier "local_150")) (+ "+") (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")))) (; ";")) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";")) (expression_statement "local_138 = *(int *)(local_138 + 0x30);" (assignment_expression "local_138 = *(int *)(local_138 + 0x30)" (identifier "local_138") (= "=") (pointer_expression "*(int *)(local_138 + 0x30)" (* "*") (cast_expression "(int *)(local_138 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x30)" (( "(") (binary_expression "local_138 + 0x30" (identifier "local_138") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" (else "else") (compound_statement "{\n        if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" ({ "{") (if_statement "if (local_150 < 0) {\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }" (if "if") (parenthesized_expression "(local_150 < 0)" (( "(") (binary_expression "local_150 < 0" (identifier "local_150") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");\n        }" ({ "{") (expression_statement "FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");" (call_expression "FUN_0002edb0("../../gas/write.c",0x67d,"write_contents")" (identifier "FUN_0002edb0") (argument_list "("../../gas/write.c",0x67d,"write_contents")" (( "(") (string_literal ""../../gas/write.c"" (" """) (string_content "../../gas/write.c") (" """)) (, ",") (number_literal "0x67d") (, ",") (string_literal ""write_contents"" (" """) (string_content "write_contents") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" (if "if") (parenthesized_expression "((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0))" (( "(") (binary_expression "(uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)" (parenthesized_expression "(uVar2 != 0 || iVar16 != 0)" (( "(") (binary_expression "uVar2 != 0 || iVar16 != 0" (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "(local_154 != 0 || local_150 != 0)" (( "(") (binary_expression "local_154 != 0 || local_150 != 0" (binary_expression "local_154 != 0" (identifier "local_154") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_150 != 0" (identifier "local_150") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);\n          uVar4 = uVar2;\n          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" ({ "{") (expression_statement "pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);" (assignment_expression "pbVar5 = (byte *)(uVar4 + local_138 + 0x4c)" (identifier "pbVar5") (= "=") (cast_expression "(byte *)(uVar4 + local_138 + 0x4c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar4 + local_138 + 0x4c)" (( "(") (binary_expression "uVar4 + local_138 + 0x4c" (binary_expression "uVar4 + local_138" (identifier "uVar4") (+ "+") (identifier "local_138")) (+ "+") (number_literal "0x4c")) () ")")))) (; ";")) (expression_statement "uVar4 = uVar2;" (assignment_expression "uVar4 = uVar2" (identifier "uVar4") (= "=") (identifier "uVar2")) (; ";")) (if_statement "if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }" (if "if") (parenthesized_expression "(iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16)" (( "(") (binary_expression "iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16" (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(0x100 < uVar2) <= (uint)-iVar16" (call_expression "(uint)(0x100 < uVar2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x100 < uVar2)" (( "(") (binary_expression "0x100 < uVar2" (number_literal "0x100") (< "<") (identifier "uVar2")) () ")"))) (<= "<=") (binary_expression "(uint)-iVar16" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar16")))) () ")")) (compound_statement "{\n            if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }\nLAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }" ({ "{") (if_statement "if (iVar16 == 0 && uVar2 == 1) {\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }" (if "if") (parenthesized_expression "(iVar16 == 0 && uVar2 == 1)" (( "(") (binary_expression "iVar16 == 0 && uVar2 == 1" (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) (&& "&&") (binary_expression "uVar2 == 1" (identifier "uVar2") (== "==") (number_literal "1"))) () ")")) (compound_statement "{\n              uVar7 = 0x100;\n              bVar1 = *pbVar5;\n              pbVar5 = local_11c;\n              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }\n            }" ({ "{") (expression_statement "uVar7 = 0x100;" (assignment_expression "uVar7 = 0x100" (identifier "uVar7") (= "=") (number_literal "0x100")) (; ";")) (expression_statement "bVar1 = *pbVar5;" (assignment_expression "bVar1 = *pbVar5" (identifier "bVar1") (= "=") (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5"))) (; ";")) (expression_statement "pbVar5 = local_11c;" (assignment_expression "pbVar5 = local_11c" (identifier "pbVar5") (= "=") (identifier "local_11c")) (; ";")) (for_statement "for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }" (for "for") (( "(") (assignment_expression "iVar6 = 0x40" (identifier "iVar6") (= "=") (number_literal "0x40")) (; ";") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar6 = iVar6 + -1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;\n                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;\n              }" ({ "{") (expression_statement "*(uint *)pbVar5 = (uint)bVar1 * 0x1010101;" (assignment_expression "*(uint *)pbVar5 = (uint)bVar1 * 0x1010101" (pointer_expression "*(uint *)pbVar5" (* "*") (cast_expression "(uint *)pbVar5" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar5"))) (= "=") (binary_expression "(uint)bVar1 * 0x1010101" (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) (* "*") (number_literal "0x1010101"))) (; ";")) (expression_statement "pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;" (assignment_expression "pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4" (identifier "pbVar5") (= "=") (binary_expression "pbVar5 + ((uint)bVar21 * -2 + 1) * 4" (identifier "pbVar5") (+ "+") (binary_expression "((uint)bVar21 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar21 * -2 + 1)" (( "(") (binary_expression "(uint)bVar21 * -2 + 1" (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar21")) (* "*") (number_literal "-2")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }" (else "else") (compound_statement "{\n              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);\n              pbVar8 = local_11c;\n              uVar17 = uVar7;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);\n            }" ({ "{") (expression_statement "uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);" (assignment_expression "uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16)" (identifier "uVar7") (= "=") (call_expression "FUN_00057d50(0x100,0,uVar2,iVar16)" (identifier "FUN_00057d50") (argument_list "(0x100,0,uVar2,iVar16)" (( "(") (number_literal "0x100") (, ",") (number_literal "0") (, ",") (identifier "uVar2") (, ",") (identifier "iVar16") () ")")))) (; ";")) (expression_statement "pbVar8 = local_11c;" (assignment_expression "pbVar8 = local_11c" (identifier "pbVar8") (= "=") (identifier "local_11c")) (; ";")) (expression_statement "uVar17 = uVar7;" (assignment_expression "uVar17 = uVar7" (identifier "uVar17") (= "=") (identifier "uVar7")) (; ";")) (do_statement "do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              } while (uVar17 != 0);" (do "do") (compound_statement "{\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }\n                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;\n                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));\n                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);\n                pbVar18 = pbVar5 + -iVar6;\n                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);\n                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }\n                uVar17 = uVar17 - 1;\n                pbVar8 = pbVar8 + uVar2;\n              }" ({ "{") (while_statement "while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }" (while "while") (parenthesized_expression "(uVar2 < 4)" (( "(") (binary_expression "uVar2 < 4" (identifier "uVar2") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }\n                  pbVar8 = pbVar8 + uVar2;\n                  uVar17 = uVar17 - 1;\n                  if (uVar17 == 0) goto LAB_00041359;\n                }" ({ "{") (if_statement "if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }" (if "if") (parenthesized_expression "((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0))" (( "(") (binary_expression "(uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)" (parenthesized_expression "(uVar2 != 0)" (( "(") (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*pbVar8 = *pbVar5, (uVar2 & 2) != 0)" (( "(") (comma_expression "*pbVar8 = *pbVar5, (uVar2 & 2) != 0" (assignment_expression "*pbVar8 = *pbVar5" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (= "=") (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5"))) (, ",") (binary_expression "(uVar2 & 2) != 0" (parenthesized_expression "(uVar2 & 2)" (( "(") (binary_expression "uVar2 & 2" (identifier "uVar2") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));\n                  }" ({ "{") (expression_statement "*(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));" (assignment_expression "*(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2))" (pointer_expression "*(undefined2 *)(pbVar8 + (uVar2 - 2))" (* "*") (cast_expression "(undefined2 *)(pbVar8 + (uVar2 - 2))" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar8 + (uVar2 - 2))" (( "(") (binary_expression "pbVar8 + (uVar2 - 2)" (identifier "pbVar8") (+ "+") (parenthesized_expression "(uVar2 - 2)" (( "(") (binary_expression "uVar2 - 2" (identifier "uVar2") (- "-") (number_literal "2")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(pbVar5 + (uVar2 - 2))" (* "*") (cast_expression "(undefined2 *)(pbVar5 + (uVar2 - 2))" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar5 + (uVar2 - 2))" (( "(") (binary_expression "pbVar5 + (uVar2 - 2)" (identifier "pbVar5") (+ "+") (parenthesized_expression "(uVar2 - 2)" (( "(") (binary_expression "uVar2 - 2" (identifier "uVar2") (- "-") (number_literal "2")) () ")"))) () ")"))))) (; ";")) (} "}"))) (expression_statement "pbVar8 = pbVar8 + uVar2;" (assignment_expression "pbVar8 = pbVar8 + uVar2" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + uVar2" (identifier "pbVar8") (+ "+") (identifier "uVar2"))) (; ";")) (expression_statement "uVar17 = uVar17 - 1;" (assignment_expression "uVar17 = uVar17 - 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 - 1" (identifier "uVar17") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uVar17 == 0) goto LAB_00041359;" (if "if") (parenthesized_expression "(uVar17 == 0)" (( "(") (binary_expression "uVar17 == 0" (identifier "uVar17") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00041359;" (goto "goto") (statement_identifier "LAB_00041359") (; ";"))) (} "}"))) (expression_statement "*(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;" (assignment_expression "*(undefined4 *)pbVar8 = *(undefined4 *)pbVar5" (pointer_expression "*(undefined4 *)pbVar8" (* "*") (cast_expression "(undefined4 *)pbVar8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar8"))) (= "=") (pointer_expression "*(undefined4 *)pbVar5" (* "*") (cast_expression "(undefined4 *)pbVar5" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar5")))) (; ";")) (expression_statement "*(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));" (assignment_expression "*(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4))" (pointer_expression "*(undefined4 *)(pbVar8 + (uVar2 - 4))" (* "*") (cast_expression "(undefined4 *)(pbVar8 + (uVar2 - 4))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar8 + (uVar2 - 4))" (( "(") (binary_expression "pbVar8 + (uVar2 - 4)" (identifier "pbVar8") (+ "+") (parenthesized_expression "(uVar2 - 4)" (( "(") (binary_expression "uVar2 - 4" (identifier "uVar2") (- "-") (number_literal "4")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pbVar5 + (uVar2 - 4))" (* "*") (cast_expression "(undefined4 *)(pbVar5 + (uVar2 - 4))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar5 + (uVar2 - 4))" (( "(") (binary_expression "pbVar5 + (uVar2 - 4)" (identifier "pbVar5") (+ "+") (parenthesized_expression "(uVar2 - 4)" (( "(") (binary_expression "uVar2 - 4" (identifier "uVar2") (- "-") (number_literal "4")) () ")"))) () ")"))))) (; ";")) (expression_statement "iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);" (assignment_expression "iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc)" (identifier "iVar6") (= "=") (binary_expression "(int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc)" (cast_expression "(int)pbVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar8")) (- "-") (cast_expression "(int)((uint)(pbVar8 + 4) & 0xfffffffc)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)(pbVar8 + 4) & 0xfffffffc)" (( "(") (binary_expression "(uint)(pbVar8 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar8 + 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar8 + 4)" (( "(") (binary_expression "pbVar8 + 4" (identifier "pbVar8") (+ "+") (number_literal "4")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")"))))) (; ";")) (expression_statement "pbVar18 = pbVar5 + -iVar6;" (assignment_expression "pbVar18 = pbVar5 + -iVar6" (identifier "pbVar18") (= "=") (binary_expression "pbVar5 + -iVar6" (identifier "pbVar5") (+ "+") (unary_expression "-iVar6" (- "-") (identifier "iVar6")))) (; ";")) (expression_statement "puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);" (assignment_expression "puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc)" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(pbVar8 + 4) & 0xfffffffc)" (( "(") (binary_expression "(uint)(pbVar8 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar8 + 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar8 + 4)" (( "(") (binary_expression "pbVar8 + 4" (identifier "pbVar8") (+ "+") (number_literal "4")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (for_statement "for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }" (for "for") (( "(") (assignment_expression "uVar14 = iVar6 + uVar2 >> 2" (identifier "uVar14") (= "=") (binary_expression "iVar6 + uVar2 >> 2" (binary_expression "iVar6 + uVar2" (identifier "iVar6") (+ "+") (identifier "uVar2")) (>> ">>") (number_literal "2"))) (; ";") (binary_expression "uVar14 != 0" (identifier "uVar14") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar14 = uVar14 - 1" (identifier "uVar14") (= "=") (binary_expression "uVar14 - 1" (identifier "uVar14") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n                  *puVar19 = *(undefined4 *)pbVar18;\n                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;\n                }" ({ "{") (expression_statement "*puVar19 = *(undefined4 *)pbVar18;" (assignment_expression "*puVar19 = *(undefined4 *)pbVar18" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (pointer_expression "*(undefined4 *)pbVar18" (* "*") (cast_expression "(undefined4 *)pbVar18" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;" (assignment_expression "pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + ((uint)bVar21 * -2 + 1) * 4" (identifier "pbVar18") (+ "+") (binary_expression "((uint)bVar21 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar21 * -2 + 1)" (( "(") (binary_expression "(uint)bVar21 * -2 + 1" (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar21")) (* "*") (number_literal "-2")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "puVar19 = puVar19 + (uint)bVar21 * -2 + 1;" (assignment_expression "puVar19 = puVar19 + (uint)bVar21 * -2 + 1" (identifier "puVar19") (= "=") (binary_expression "puVar19 + (uint)bVar21 * -2 + 1" (binary_expression "puVar19 + (uint)bVar21 * -2" (identifier "puVar19") (+ "+") (binary_expression "(uint)bVar21 * -2" (cast_expression "(uint)bVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar21")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "uVar17 = uVar17 - 1;" (assignment_expression "uVar17 = uVar17 - 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 - 1" (identifier "uVar17") (- "-") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + uVar2;" (assignment_expression "pbVar8 = pbVar8 + uVar2" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + uVar2" (identifier "pbVar8") (+ "+") (identifier "uVar2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar17 != 0)" (( "(") (binary_expression "uVar17 != 0" (identifier "uVar17") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_00041359:\n            do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" (statement_identifier "LAB_00041359") (: ":") (do_statement "do {\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" (do "do") (compound_statement "{\n              local_134 = local_11c;\n              iVar6 = (int)uVar7 >> 0x1f;\n              if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }\n              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);\n              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;\n              iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);\n              if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar17);\n              local_14c = local_14c + uVar17;\n              local_148 = local_148 + iVar15 + (uint)bVar20;\n              bVar20 = local_154 < uVar7;\n              local_154 = local_154 - uVar7;\n              local_150 = (local_150 - iVar6) - (uint)bVar20;\n            }" ({ "{") (expression_statement "local_134 = local_11c;" (assignment_expression "local_134 = local_11c" (identifier "local_134") (= "=") (identifier "local_11c")) (; ";")) (expression_statement "iVar6 = (int)uVar7 >> 0x1f;" (assignment_expression "iVar6 = (int)uVar7 >> 0x1f" (identifier "iVar6") (= "=") (binary_expression "(int)uVar7 >> 0x1f" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (>> ">>") (number_literal "0x1f"))) (; ";")) (if_statement "if ((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }" (if "if") (parenthesized_expression "((SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0)" (( "(") (binary_expression "(SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=\n                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0" (parenthesized_expression "(SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7)))" (( "(") (binary_expression "SBORROW4(local_150,iVar6) !=\n                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))" (call_expression "SBORROW4(local_150,iVar6)" (identifier "SBORROW4") (argument_list "(local_150,iVar6)" (( "(") (identifier "local_150") (, ",") (identifier "iVar6") () ")"))) (!= "!=") (call_expression "SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))" (identifier "SBORROW4") (argument_list "(local_150 - iVar6,(uint)(local_154 < uVar7))" (( "(") (binary_expression "local_150 - iVar6" (identifier "local_150") (- "-") (identifier "iVar6")) (, ",") (call_expression "(uint)(local_154 < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_154 < uVar7)" (( "(") (binary_expression "local_154 < uVar7" (identifier "local_154") (< "<") (identifier "uVar7")) () ")"))) () ")")))) () ")")) (!= "!=") (binary_expression "(int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0" (cast_expression "(int)((local_150 - iVar6) - (uint)(local_154 < uVar7))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((local_150 - iVar6) - (uint)(local_154 < uVar7))" (( "(") (binary_expression "(local_150 - iVar6) - (uint)(local_154 < uVar7)" (parenthesized_expression "(local_150 - iVar6)" (( "(") (binary_expression "local_150 - iVar6" (identifier "local_150") (- "-") (identifier "iVar6")) () ")")) (- "-") (call_expression "(uint)(local_154 < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_154 < uVar7)" (( "(") (binary_expression "local_154 < uVar7" (identifier "local_154") (< "<") (identifier "uVar7")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n                uVar7 = local_154;\n                iVar6 = local_150;\n              }" ({ "{") (expression_statement "uVar7 = local_154;" (assignment_expression "uVar7 = local_154" (identifier "uVar7") (= "=") (identifier "local_154")) (; ";")) (expression_statement "iVar6 = local_150;" (assignment_expression "iVar6 = local_150" (identifier "iVar6") (= "=") (identifier "local_150")) (; ";")) (} "}"))) (expression_statement "uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);" (assignment_expression "uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7)" (identifier "uVar17") (= "=") (call_expression "(uint)((ulonglong)uVar4 * (ulonglong)uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar4 * (ulonglong)uVar7)" (( "(") (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar7" (cast_expression "(ulonglong)uVar4" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar4")) (* "*") (cast_expression "(ulonglong)uVar7" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar7"))) () ")")))) (; ";")) (expression_statement "iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7;" (assignment_expression "iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7" (identifier "iVar15") (= "=") (binary_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6 + iVar16 * uVar7" (binary_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +\n                       uVar4 * iVar6" (cast_expression "(int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20" (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar7" (cast_expression "(ulonglong)uVar4" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar4")) (* "*") (cast_expression "(ulonglong)uVar7" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar7"))) (>> ">>") (number_literal "0x20")) () ")"))) (+ "+") (binary_expression "uVar4 * iVar6" (identifier "uVar4") (* "*") (identifier "iVar6"))) (+ "+") (binary_expression "iVar16 * uVar7" (identifier "iVar16") (* "*") (identifier "uVar7")))) (; ";")) (expression_statement "iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);" (assignment_expression "iVar9 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15)" (identifier "iVar9") (= "=") (call_expression "bfd_set_section_contents\n                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15)" (identifier "bfd_set_section_contents") (argument_list "(DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15)" (( "(") (identifier "DAT_00088f24") (, ",") (identifier "param_2") (, ",") (identifier "local_134") (, ",") (identifier "local_14c") (, ",") (identifier "local_148") (, ",") (identifier "uVar17") (, ",") (identifier "iVar15") () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar10 = bfd_get_error(uVar7,iVar6);\n                uVar11 = bfd_errmsg(uVar10);\n                iVar16 = uVar2 * uVar7;\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);\n                    \n                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);\n              }" ({ "{") (expression_statement "uVar10 = bfd_get_error(uVar7,iVar6);" (assignment_expression "uVar10 = bfd_get_error(uVar7,iVar6)" (identifier "uVar10") (= "=") (call_expression "bfd_get_error(uVar7,iVar6)" (identifier "bfd_get_error") (argument_list "(uVar7,iVar6)" (( "(") (identifier "uVar7") (, ",") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "uVar11 = bfd_errmsg(uVar10);" (assignment_expression "uVar11 = bfd_errmsg(uVar10)" (identifier "uVar11") (= "=") (call_expression "bfd_errmsg(uVar10)" (identifier "bfd_errmsg") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "iVar16 = uVar2 * uVar7;" (assignment_expression "iVar16 = uVar2 * uVar7" (identifier "iVar16") (= "=") (binary_expression "uVar2 * uVar7" (identifier "uVar2") (* "*") (identifier "uVar7"))) (; ";")) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" (identifier "uVar10") (= "=") (pointer_expression "*DAT_00088f24" (* "*") (identifier "DAT_00088f24"))) (; ";")) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" (identifier "uVar3") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);" (assignment_expression "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5)" (identifier "uVar12") (= "=") (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5)" (identifier "dcngettext") (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5)" (( "(") (number_literal "0") (, ",") (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t fill %ld byte in section %s of %s: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """)) (, ",") (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t fill %ld bytes in section %s of %s: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """)) (, ",") (identifier "iVar16") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);" (call_expression "FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11)" (identifier "FUN_0002ed30") (argument_list "(uVar12,iVar16,uVar3,uVar10,uVar11)" (( "(") (identifier "uVar12") (, ",") (identifier "iVar16") (, ",") (identifier "uVar3") (, ",") (identifier "uVar10") (, ",") (identifier "uVar11") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar20 = CARRY4(local_14c,uVar17);" (assignment_expression "bVar20 = CARRY4(local_14c,uVar17)" (identifier "bVar20") (= "=") (call_expression "CARRY4(local_14c,uVar17)" (identifier "CARRY4") (argument_list "(local_14c,uVar17)" (( "(") (identifier "local_14c") (, ",") (identifier "uVar17") () ")")))) (; ";")) (expression_statement "local_14c = local_14c + uVar17;" (assignment_expression "local_14c = local_14c + uVar17" (identifier "local_14c") (= "=") (binary_expression "local_14c + uVar17" (identifier "local_14c") (+ "+") (identifier "uVar17"))) (; ";")) (expression_statement "local_148 = local_148 + iVar15 + (uint)bVar20;" (assignment_expression "local_148 = local_148 + iVar15 + (uint)bVar20" (identifier "local_148") (= "=") (binary_expression "local_148 + iVar15 + (uint)bVar20" (binary_expression "local_148 + iVar15" (identifier "local_148") (+ "+") (identifier "iVar15")) (+ "+") (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")))) (; ";")) (expression_statement "bVar20 = local_154 < uVar7;" (assignment_expression "bVar20 = local_154 < uVar7" (identifier "bVar20") (= "=") (binary_expression "local_154 < uVar7" (identifier "local_154") (< "<") (identifier "uVar7"))) (; ";")) (expression_statement "local_154 = local_154 - uVar7;" (assignment_expression "local_154 = local_154 - uVar7" (identifier "local_154") (= "=") (binary_expression "local_154 - uVar7" (identifier "local_154") (- "-") (identifier "uVar7"))) (; ";")) (expression_statement "local_150 = (local_150 - iVar6) - (uint)bVar20;" (assignment_expression "local_150 = (local_150 - iVar6) - (uint)bVar20" (identifier "local_150") (= "=") (binary_expression "(local_150 - iVar6) - (uint)bVar20" (parenthesized_expression "(local_150 - iVar6)" (( "(") (binary_expression "local_150 - iVar6" (identifier "local_150") (- "-") (identifier "iVar6")) () ")")) (- "-") (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(-local_150 < (int)(uint)(local_154 != 0))" (( "(") (binary_expression "-local_150 < (int)(uint)(local_154 != 0)" (unary_expression "-local_150" (- "-") (identifier "local_150")) (< "<") (cast_expression "(int)(uint)(local_154 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(local_154 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_154 != 0)" (( "(") (binary_expression "local_154 != 0" (identifier "local_154") (!= "!=") (number_literal "0")) () ")"))))) () ")")) (; ";"))) (} "}")) (else_clause "else {\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }" (else "else") (compound_statement "{\n            do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);\n          }" ({ "{") (do_statement "do {\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            } while (local_150 != 0 || local_154 != 0);" (do "do") (compound_statement "{\n              iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);\n              if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }\n              bVar20 = CARRY4(local_14c,uVar4);\n              local_14c = local_14c + uVar4;\n              local_148 = local_148 + iVar16 + (uint)bVar20;\n              bVar20 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar20;\n            }" ({ "{") (expression_statement "iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);" (assignment_expression "iVar6 = bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16)" (identifier "iVar6") (= "=") (call_expression "bfd_set_section_contents\n                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16)" (identifier "bfd_set_section_contents") (argument_list "(DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16)" (( "(") (identifier "DAT_00088f24") (, ",") (identifier "param_2") (, ",") (identifier "pbVar5") (, ",") (identifier "local_14c") (, ",") (identifier "local_148") (, ",") (identifier "uVar4") (, ",") (identifier "iVar16") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar10 = bfd_get_error();\n                uVar11 = bfd_errmsg(uVar10);\n                uVar10 = *DAT_00088f24;\n                uVar3 = *param_2;\n                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);\n                    \n                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);\n              }" ({ "{") (expression_statement "uVar10 = bfd_get_error();" (assignment_expression "uVar10 = bfd_get_error()" (identifier "uVar10") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar11 = bfd_errmsg(uVar10);" (assignment_expression "uVar11 = bfd_errmsg(uVar10)" (identifier "uVar11") (= "=") (call_expression "bfd_errmsg(uVar10)" (identifier "bfd_errmsg") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "uVar10 = *DAT_00088f24;" (assignment_expression "uVar10 = *DAT_00088f24" (identifier "uVar10") (= "=") (pointer_expression "*DAT_00088f24" (* "*") (identifier "DAT_00088f24"))) (; ";")) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" (identifier "uVar3") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);" (assignment_expression "uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5)" (identifier "uVar12") (= "=") (call_expression "dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5)" (identifier "dcngettext") (argument_list "(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",\n                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5)" (( "(") (number_literal "0") (, ",") (string_literal ""can\'t fill %ld byte in section %s of %s: \'%s\'"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t fill %ld byte in section %s of %s: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """)) (, ",") (string_literal ""can\'t fill %ld bytes in section %s of %s: \'%s\'"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t fill %ld bytes in section %s of %s: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """)) (, ",") (identifier "uVar2") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);" (call_expression "FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11)" (identifier "FUN_0002ed30") (argument_list "(uVar12,uVar2,uVar3,uVar10,uVar11)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar2") (, ",") (identifier "uVar3") (, ",") (identifier "uVar10") (, ",") (identifier "uVar11") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar20 = CARRY4(local_14c,uVar4);" (assignment_expression "bVar20 = CARRY4(local_14c,uVar4)" (identifier "bVar20") (= "=") (call_expression "CARRY4(local_14c,uVar4)" (identifier "CARRY4") (argument_list "(local_14c,uVar4)" (( "(") (identifier "local_14c") (, ",") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "local_14c = local_14c + uVar4;" (assignment_expression "local_14c = local_14c + uVar4" (identifier "local_14c") (= "=") (binary_expression "local_14c + uVar4" (identifier "local_14c") (+ "+") (identifier "uVar4"))) (; ";")) (expression_statement "local_148 = local_148 + iVar16 + (uint)bVar20;" (assignment_expression "local_148 = local_148 + iVar16 + (uint)bVar20" (identifier "local_148") (= "=") (binary_expression "local_148 + iVar16 + (uint)bVar20" (binary_expression "local_148 + iVar16" (identifier "local_148") (+ "+") (identifier "iVar16")) (+ "+") (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")))) (; ";")) (expression_statement "bVar20 = local_154 != 0;" (assignment_expression "bVar20 = local_154 != 0" (identifier "bVar20") (= "=") (binary_expression "local_154 != 0" (identifier "local_154") (!= "!=") (number_literal "0"))) (; ";")) (expression_statement "local_154 = local_154 - 1;" (assignment_expression "local_154 = local_154 - 1" (identifier "local_154") (= "=") (binary_expression "local_154 - 1" (identifier "local_154") (- "-") (number_literal "1"))) (; ";")) (expression_statement "local_150 = local_150 + -1 + (uint)bVar20;" (assignment_expression "local_150 = local_150 + -1 + (uint)bVar20" (identifier "local_150") (= "=") (binary_expression "local_150 + -1 + (uint)bVar20" (binary_expression "local_150 + -1" (identifier "local_150") (+ "+") (number_literal "-1")) (+ "+") (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_150 != 0 || local_154 != 0)" (( "(") (binary_expression "local_150 != 0 || local_154 != 0" (binary_expression "local_150 != 0" (identifier "local_150") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_154 != 0" (identifier "local_154") (!= "!=") (number_literal "0"))) () ")")) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_00041120:\n        local_138 = *(int *)(local_138 + 0x30);" (statement_identifier "LAB_00041120") (: ":") (expression_statement "local_138 = *(int *)(local_138 + 0x30);" (assignment_expression "local_138 = *(int *)(local_138 + 0x30)" (identifier "local_138") (= "=") (pointer_expression "*(int *)(local_138 + 0x30)" (* "*") (cast_expression "(int *)(local_138 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x30)" (( "(") (binary_expression "local_138 + 0x30" (identifier "local_138") (+ "+") (number_literal "0x30")) () ")"))))) (; ";"))) (} "}")))) (if_statement "if (local_138 == 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(local_138 == 0)" (( "(") (binary_expression "local_138 == 0" (identifier "local_138") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10))" (( "(") (binary_expression "(*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)" (parenthesized_expression "(*(int *)(local_138 + 0x44) == 1)" (( "(") (binary_expression "*(int *)(local_138 + 0x44) == 1" (pointer_expression "*(int *)(local_138 + 0x44)" (* "*") (cast_expression "(int *)(local_138 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x44)" (( "(") (binary_expression "local_138 + 0x44" (identifier "local_138") (+ "+") (number_literal "0x44")) () ")")))) (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(local_138 + 0x44) == 10)" (( "(") (binary_expression "*(int *)(local_138 + 0x44) == 10" (pointer_expression "*(int *)(local_138 + 0x44)" (* "*") (cast_expression "(int *)(local_138 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_138 + 0x44)" (( "(") (binary_expression "local_138 + 0x44" (identifier "local_138") (+ "+") (number_literal "0x44")) () ")")))) (== "==") (number_literal "10")) () ")"))) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");" (call_expression "FUN_0002edb0("../../gas/write.c",0x64f,"write_contents")" (identifier "FUN_0002edb0") (argument_list "("../../gas/write.c",0x64f,"write_contents")" (( "(") (string_literal ""../../gas/write.c"" (" """) (string_content "../../gas/write.c") (" """)) (, ",") (number_literal "0x64f") (, ",") (string_literal ""write_contents"" (" """) (string_content "write_contents") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void function_1(type_1 *abfd,type_2 *sec,void *xxx)

{
  type_3 bVar1;
  type_4 var_13;
  char *pcVar3;
  type_4 var_2;
  type_3 *var_24;
  int var_20;
  void *__ptr;
  char *pcVar7;
  type_4 var_30;
  type_3 *var_23;
  int var_31;
  type_5 uVar11;
  char *pcVar12;
  type_5 uVar13;
  type_4 var_26;
  int var_32;
  int var_4;
  type_4 var_25;
  type_3 *var_27;
  type_5 *var_28;
  int *var_21;
  bool bVar21;
  type_3 bVar22;
  type_4 var_15;
  int var_12;
  type_4 var_10;
  int var_11;
  int var_1;
  char *local_134;
  char buf [256];
  
  bVar22 = 0;
                    /* WARNING: Load size is inaccurate */
  if ((((type_5 *)sec->userdata == (type_5 *)0x0) || ((sec->flags & 0x100) == 0)) ||
     (var_1 = **sec->userdata, var_1 == 0)) {
    return;
  }
  if ((*(int *)(var_1 + 0x44) == 1) || (*(int *)(var_1 + 0x44) == 10)) {
    var_10 = 0;
    var_11 = 0;
    do {
      var_2 = *(type_4 *)(var_1 + 0x10);
      if (*(int *)(var_1 + 0x14) != 0 || var_2 != 0) {
        var_4 = var_3
                           (stdoutput,sec,var_1 + 0x4c,var_10,var_11,var_2,
                            *(int *)(var_1 + 0x14));
        if (var_4 == 0) {
          uVar11 = var_5();
          uVar13 = var_6(uVar11);
          pcVar7 = stdoutput->filename;
          pcVar3 = sec->name;
          uVar11 = *(type_5 *)(var_1 + 0x10);
          pcVar12 = (char *)var_7(0,"can\'t write %ld byte to section %s of %s: \'%s\'",
                                       "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5
                                      );
                    /* WARNING: Subroutine does not return */
          var_8(pcVar12,uVar11,pcVar3,pcVar7,uVar13);
        }
        var_2 = *(type_4 *)(var_1 + 0x10);
        bVar21 = var_9(var_10,var_2);
        var_10 = var_10 + var_2;
        var_11 = var_11 + *(int *)(var_1 + 0x14) + (type_4)bVar21;
      }
      var_13 = *(type_4 *)(var_1 + 0x18);
      var_4 = *(int *)(var_1 + 0x1c);
      var_12 = *(int *)(var_1 + 0x24);
      var_15 = *(type_4 *)(var_1 + 0x20);
      if (*(int *)(var_1 + 0x44) == 10) {
        if ((var_12 < 0) || (var_13 != 1 || var_4 != 0)) {
                    /* WARNING: Subroutine does not return */
          var_14("../../gas/write.c",0x667,"write_contents");
        }
        if (var_12 == 0 && var_15 == 0) goto LAB_00041120;
        __ptr = (void *)var_16(var_15);
        pcVar7 = (char *)var_17(0,"unimplemented .nops directive",5);
        var_18(pcVar7);
        var_4 = var_3
                           (stdoutput,sec,__ptr,var_10,var_11,var_15,var_12);
        if (var_4 == 0) {
          uVar11 = var_5();
          uVar11 = var_6(uVar11);
          pcVar7 = stdoutput->filename;
          pcVar3 = sec->name;
          pcVar12 = (char *)var_7(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                       "can\'t fill %ld bytes in section %s of %s: \'%s\'",var_15
                                       ,5);
                    /* WARNING: Subroutine does not return */
          var_8(pcVar12,var_15,pcVar3,pcVar7,uVar11);
        }
        bVar21 = var_9(var_10,var_15);
        var_10 = var_10 + var_15;
        var_11 = var_11 + var_12 + (type_4)bVar21;
        var_19(__ptr);
        var_1 = *(int *)(var_1 + 0x30);
      }
      else {
        if (var_12 < 0) {
                    /* WARNING: Subroutine does not return */
          var_14("../../gas/write.c",0x67d,"write_contents");
        }
        if ((var_13 != 0 || var_4 != 0) && (var_15 != 0 || var_12 != 0)) {
          var_24 = (type_3 *)(var_2 + var_1 + 0x4c);
          var_2 = var_13;
          if (var_4 == 0 && (type_4)(0x100 < var_13) <= (type_4)-var_4) {
            if (var_4 == 0 && var_13 == 1) {
              var_30 = 0x100;
              bVar1 = *var_24;
              var_21 = (int *)buf;
              for (var_20 = 0x40; var_20 != 0; var_20 = var_20 + -1) {
                *var_21 = (type_4)bVar1 * 0x1010101;
                var_21 = var_21 + (type_4)bVar22 * -2 + 1;
              }
            }
            else {
              var_30 = var_22(0x100,0,var_13,var_4);
              var_23 = (type_3 *)buf;
              var_25 = var_30;
              do {
                while (var_13 < 4) {
                  if ((var_13 != 0) && (*var_23 = *var_24, (var_13 & 2) != 0)) {
                    *(type_6 *)(var_23 + (var_13 - 2)) = *(type_6 *)(var_24 + (var_13 - 2));
                  }
                  var_23 = var_23 + var_13;
                  var_25 = var_25 - 1;
                  if (var_25 == 0) goto LAB_00041359;
                }
                *(type_5 *)var_23 = *(type_5 *)var_24;
                *(type_5 *)(var_23 + (var_13 - 4)) = *(type_5 *)(var_24 + (var_13 - 4));
                var_20 = (int)var_23 - (int)((type_4)(var_23 + 4) & 0xfffffffc);
                var_27 = var_24 + -var_20;
                var_28 = (type_5 *)((type_4)(var_23 + 4) & 0xfffffffc);
                for (var_26 = var_20 + var_13 >> 2; var_26 != 0; var_26 = var_26 - 1) {
                  *var_28 = *(type_5 *)var_27;
                  var_27 = var_27 + ((type_4)bVar22 * -2 + 1) * 4;
                  var_28 = var_28 + (type_4)bVar22 * -2 + 1;
                }
                var_25 = var_25 - 1;
                var_23 = var_23 + var_13;
              } while (var_25 != 0);
            }
LAB_00041359:
            do {
              local_134 = buf;
              var_20 = (int)var_30 >> 0x1f;
              if ((var_29(var_12,var_20) !=
                  var_29(var_12 - var_20,(type_4)(var_15 < var_30))) !=
                  (int)((var_12 - var_20) - (type_4)(var_15 < var_30)) < 0) {
                var_30 = var_15;
                var_20 = var_12;
              }
              var_25 = (type_4)((type_7)var_2 * (type_7)var_30);
              var_32 = (int)((type_7)var_2 * (type_7)var_30 >> 0x20) +
                       var_2 * var_20 + var_4 * var_30;
              var_31 = var_3
                                 (stdoutput,sec,local_134,var_10,var_11,var_25,var_32);
              if (var_31 == 0) {
                uVar11 = var_5(var_30,var_20);
                uVar11 = var_6(uVar11);
                var_4 = var_13 * var_30;
                pcVar7 = stdoutput->filename;
                pcVar3 = sec->name;
                pcVar12 = (char *)var_7(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",
                                             var_4,5);
                    /* WARNING: Subroutine does not return */
                var_8(pcVar12,var_4,pcVar3,pcVar7,uVar11);
              }
              bVar21 = var_9(var_10,var_25);
              var_10 = var_10 + var_25;
              var_11 = var_11 + var_32 + (type_4)bVar21;
              bVar21 = var_15 < var_30;
              var_15 = var_15 - var_30;
              var_12 = (var_12 - var_20) - (type_4)bVar21;
            } while (-var_12 < (int)(type_4)(var_15 != 0));
          }
          else {
            do {
              var_20 = var_3
                                (stdoutput,sec,var_24,var_10,var_11,var_2,var_4);
              if (var_20 == 0) {
                uVar11 = var_5();
                uVar11 = var_6(uVar11);
                pcVar7 = stdoutput->filename;
                pcVar3 = sec->name;
                pcVar12 = (char *)var_7(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                             "can\'t fill %ld bytes in section %s of %s: \'%s\'",
                                             var_13,5);
                    /* WARNING: Subroutine does not return */
                var_8(pcVar12,var_13,pcVar3,pcVar7,uVar11);
              }
              bVar21 = var_9(var_10,var_2);
              var_10 = var_10 + var_2;
              var_11 = var_11 + var_4 + (type_4)bVar21;
              bVar21 = var_15 != 0;
              var_15 = var_15 - 1;
              var_12 = var_12 + -1 + (type_4)bVar21;
            } while (var_12 != 0 || var_15 != 0);
          }
        }
LAB_00041120:
        var_1 = *(int *)(var_1 + 0x30);
      }
      if (var_1 == 0) {
        return;
      }
    } while ((*(int *)(var_1 + 0x44) == 1) || (*(int *)(var_1 + 0x44) == 10));
  }
                    /* WARNING: Subroutine does not return */
  var_14("../../gas/write.c",0x64f,"write_contents");
}


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

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void MASKED(undefined4 param_1,undefined4 *param_2)

{
  byte bVar1;
  uint uVar2;
  undefined4 uVar3;
  uint uVar4;
  byte *pbVar5;
  int iVar6;
  void *__ptr;
  uint uVar7;
  byte *pbVar8;
  int iVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  uint uVar14;
  int iVar15;
  int iVar16;
  uint uVar17;
  byte *pbVar18;
  undefined4 *puVar19;
  bool bVar20;
  byte bVar21;
  uint local_154;
  int local_150;
  uint local_14c;
  int local_148;
  int local_138;
  byte *local_134;
  byte local_11c [268];
  
  bVar21 = 0;
  if ((((undefined4 *)param_2[0x20] == (undefined4 *)0x0) ||
      ((*(byte *)((int)param_2 + 0x15) & 1) == 0)) ||
     (local_138 = **(int **)param_2[0x20], local_138 == 0)) {
    return;
  }
  if ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10)) {
    local_14c = 0;
    local_148 = 0;
    do {
      uVar4 = *(uint *)(local_138 + 0x10);
      if (*(int *)(local_138 + 0x14) != 0 || uVar4 != 0) {
        iVar16 = bfd_set_section_contents
                           (DAT_00088f24,param_2,local_138 + 0x4c,local_14c,local_148,uVar4,
                            *(int *)(local_138 + 0x14));
        if (iVar16 == 0) {
          uVar10 = bfd_get_error();
          uVar12 = bfd_errmsg(uVar10);
          uVar10 = *DAT_00088f24;
          uVar3 = *param_2;
          uVar11 = *(undefined4 *)(local_138 + 0x10);
          uVar13 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",
                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar11,5);
                    /* WARNING: Subroutine does not return */
          FUN_0002ed30(uVar13,uVar11,uVar3,uVar10,uVar12);
        }
        uVar4 = *(uint *)(local_138 + 0x10);
        bVar20 = CARRY4(local_14c,uVar4);
        local_14c = local_14c + uVar4;
        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar20;
      }
      uVar2 = *(uint *)(local_138 + 0x18);
      iVar16 = *(int *)(local_138 + 0x1c);
      local_150 = *(int *)(local_138 + 0x24);
      local_154 = *(uint *)(local_138 + 0x20);
      if (*(int *)(local_138 + 0x44) == 10) {
        if ((local_150 < 0) || (uVar2 != 1 || iVar16 != 0)) {
                    /* WARNING: Subroutine does not return */
          FUN_0002edb0("../../gas/write.c",0x667,"write_contents");
        }
        if (local_150 == 0 && local_154 == 0) goto LAB_00041120;
        __ptr = (void *)xmalloc(local_154);
        uVar10 = dcgettext(0,"unimplemented .nops directive",5);
        FUN_0002ec90(uVar10);
        iVar16 = bfd_set_section_contents
                           (DAT_00088f24,param_2,__ptr,local_14c,local_148,local_154,local_150);
        if (iVar16 == 0) {
          uVar10 = bfd_get_error();
          uVar11 = bfd_errmsg(uVar10);
          uVar10 = *DAT_00088f24;
          uVar3 = *param_2;
          uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                              "can\'t fill %ld bytes in section %s of %s: \'%s\'",local_154,5);
                    /* WARNING: Subroutine does not return */
          FUN_0002ed30(uVar12,local_154,uVar3,uVar10,uVar11);
        }
        bVar20 = CARRY4(local_14c,local_154);
        local_14c = local_14c + local_154;
        local_148 = local_148 + local_150 + (uint)bVar20;
        free(__ptr);
        local_138 = *(int *)(local_138 + 0x30);
      }
      else {
        if (local_150 < 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002edb0("../../gas/write.c",0x67d,"write_contents");
        }
        if ((uVar2 != 0 || iVar16 != 0) && (local_154 != 0 || local_150 != 0)) {
          pbVar5 = (byte *)(uVar4 + local_138 + 0x4c);
          uVar4 = uVar2;
          if (iVar16 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar16) {
            if (iVar16 == 0 && uVar2 == 1) {
              uVar7 = 0x100;
              bVar1 = *pbVar5;
              pbVar5 = local_11c;
              for (iVar6 = 0x40; iVar6 != 0; iVar6 = iVar6 + -1) {
                *(uint *)pbVar5 = (uint)bVar1 * 0x1010101;
                pbVar5 = pbVar5 + ((uint)bVar21 * -2 + 1) * 4;
              }
            }
            else {
              uVar7 = FUN_00057d50(0x100,0,uVar2,iVar16);
              pbVar8 = local_11c;
              uVar17 = uVar7;
              do {
                while (uVar2 < 4) {
                  if ((uVar2 != 0) && (*pbVar8 = *pbVar5, (uVar2 & 2) != 0)) {
                    *(undefined2 *)(pbVar8 + (uVar2 - 2)) = *(undefined2 *)(pbVar5 + (uVar2 - 2));
                  }
                  pbVar8 = pbVar8 + uVar2;
                  uVar17 = uVar17 - 1;
                  if (uVar17 == 0) goto LAB_00041359;
                }
                *(undefined4 *)pbVar8 = *(undefined4 *)pbVar5;
                *(undefined4 *)(pbVar8 + (uVar2 - 4)) = *(undefined4 *)(pbVar5 + (uVar2 - 4));
                iVar6 = (int)pbVar8 - (int)((uint)(pbVar8 + 4) & 0xfffffffc);
                pbVar18 = pbVar5 + -iVar6;
                puVar19 = (undefined4 *)((uint)(pbVar8 + 4) & 0xfffffffc);
                for (uVar14 = iVar6 + uVar2 >> 2; uVar14 != 0; uVar14 = uVar14 - 1) {
                  *puVar19 = *(undefined4 *)pbVar18;
                  pbVar18 = pbVar18 + ((uint)bVar21 * -2 + 1) * 4;
                  puVar19 = puVar19 + (uint)bVar21 * -2 + 1;
                }
                uVar17 = uVar17 - 1;
                pbVar8 = pbVar8 + uVar2;
              } while (uVar17 != 0);
            }
LAB_00041359:
            do {
              local_134 = local_11c;
              iVar6 = (int)uVar7 >> 0x1f;
              if ((SBORROW4(local_150,iVar6) !=
                  SBORROW4(local_150 - iVar6,(uint)(local_154 < uVar7))) !=
                  (int)((local_150 - iVar6) - (uint)(local_154 < uVar7)) < 0) {
                uVar7 = local_154;
                iVar6 = local_150;
              }
              uVar17 = (uint)((ulonglong)uVar4 * (ulonglong)uVar7);
              iVar15 = (int)((ulonglong)uVar4 * (ulonglong)uVar7 >> 0x20) +
                       uVar4 * iVar6 + iVar16 * uVar7;
              iVar9 = bfd_set_section_contents
                                (DAT_00088f24,param_2,local_134,local_14c,local_148,uVar17,iVar15);
              if (iVar9 == 0) {
                uVar10 = bfd_get_error(uVar7,iVar6);
                uVar11 = bfd_errmsg(uVar10);
                iVar16 = uVar2 * uVar7;
                uVar10 = *DAT_00088f24;
                uVar3 = *param_2;
                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar16,5);
                    /* WARNING: Subroutine does not return */
                FUN_0002ed30(uVar12,iVar16,uVar3,uVar10,uVar11);
              }
              bVar20 = CARRY4(local_14c,uVar17);
              local_14c = local_14c + uVar17;
              local_148 = local_148 + iVar15 + (uint)bVar20;
              bVar20 = local_154 < uVar7;
              local_154 = local_154 - uVar7;
              local_150 = (local_150 - iVar6) - (uint)bVar20;
            } while (-local_150 < (int)(uint)(local_154 != 0));
          }
          else {
            do {
              iVar6 = bfd_set_section_contents
                                (DAT_00088f24,param_2,pbVar5,local_14c,local_148,uVar4,iVar16);
              if (iVar6 == 0) {
                uVar10 = bfd_get_error();
                uVar11 = bfd_errmsg(uVar10);
                uVar10 = *DAT_00088f24;
                uVar3 = *param_2;
                uVar12 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",uVar2,5);
                    /* WARNING: Subroutine does not return */
                FUN_0002ed30(uVar12,uVar2,uVar3,uVar10,uVar11);
              }
              bVar20 = CARRY4(local_14c,uVar4);
              local_14c = local_14c + uVar4;
              local_148 = local_148 + iVar16 + (uint)bVar20;
              bVar20 = local_154 != 0;
              local_154 = local_154 - 1;
              local_150 = local_150 + -1 + (uint)bVar20;
            } while (local_150 != 0 || local_154 != 0);
          }
        }
LAB_00041120:
        local_138 = *(int *)(local_138 + 0x30);
      }
      if (local_138 == 0) {
        return;
      }
    } while ((*(int *)(local_138 + 0x44) == 1) || (*(int *)(local_138 + 0x44) == 10));
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002edb0("../../gas/write.c",0x64f,"write_contents");
}

